Tôi đang cố gắng giải quyết một nhiệm vụ khá phổ biến (như tôi nghĩ).Rails has_many thông qua biểu mẫu với hộp kiểm và trường bổ sung trong mô hình tham gia
Như vậy là ba mô hình:
class Product < ActiveRecord::Base
validates :name, presence: true
has_many :categorizations
has_many :categories, :through => :categorizations
accepts_nested_attributes_for :categorizations
end
class Categorization < ActiveRecord::Base
belongs_to :product
belongs_to :category
validates :description, presence: true # note the additional field here
end
class Category < ActiveRecord::Base
validates :name, presence: true
end
vấn đề của tôi bắt đầu khi nói đến sản phẩm mới hình thức/chỉnh sửa.
Khi tạo một sản phẩm, tôi cần phải kiểm tra các loại (thông qua hộp kiểm) mà nó thuộc về. Tôi biết nó có thể được thực hiện bằng cách tạo các hộp kiểm với tên như 'product [category_ids] []'. Nhưng tôi cũng cần phải nhập một mô tả cho mỗi quan hệ được kiểm tra sẽ được lưu trữ trong mô hình kết nối (Phân loại).
Tôi thấy những Railscasts đẹp trên các biểu mẫu phức tạp, hộp kiểm tra, vv .. Tôi đã tìm kiếm StackOverflow hầu như không. Nhưng tôi đã không thành công.
Tôi đã tìm thấy một post mô tả gần như chính xác cùng một vấn đề với tôi. Và câu trả lời cuối cùng có ý nghĩa với tôi (có vẻ như đó là cách đi đúng). Nhưng nó không thực sự hoạt động tốt (tức là nếu xác thực không thành công). Tôi muốn các danh mục được hiển thị luôn theo cùng thứ tự (trong biểu mẫu mới/chỉnh sửa; trước/sau khi xác thực) và các hộp kiểm để giữ nguyên vị trí nếu xác thực không thành công, v.v.
Bất kỳ lỗi nào được đánh giá cao. Tôi mới sử dụng Rails (chuyển đổi từ CakePHP) vì vậy hãy kiên nhẫn và viết chi tiết nhất có thể. Xin hãy chỉ cho tôi đúng cách!
Cảm ơn bạn. :)
được thực hiện tốt. tôi có cảm giác có thể có một cách dễ dàng hơn. – courtsimas
Cảm ơn rất nhiều vì đã chia sẻ, tôi cũng đã bổ sung cho http://stackoverflow.com/a/15920542/148421 vì giá trị của tôi không được lưu và tôi đã bỏ lỡ cách cho phép các thuộc tính lồng nhau – Andrea