Tôi gặp sự cố khi nhận được fields_for
để làm việc trên thuộc tính Array của mô hình không phải ActiveRecord.form_for mô hình phi AR - fields_for Thuộc tính mảng không lặp
cất xuống, tôi phải như sau:
mô hình/parent.rb
class Parent
extend ActiveModel::Naming
include ActiveModel::Conversion
include ActiveModel::Validations
extend ActiveModel::Translation
attr_accessor :bars
end
controllers/parent_controller.rb
def new_parent
@parent = Parent.new
@parent.bars = ["hello", "world"]
render 'new_parent'
end
views/new_parent.html.haml
= form_for @parent, :url => new_parent_path do |f|
= f.fields_for :bars, @parent.bars do |r|
= r.object.inspect
Với mã như trên, trang của tôi chứa ["hello", "world"]
- tức là kết quả của inspect
được gọi trên Mảng được gán cho bars
. (Với @parent.bars
bị bỏ qua từ dòng fields_for
, tôi chỉ nhận được nil
được hiển thị).
Làm cách nào để có thể thực hiện fields_for
hoạt động như đối với liên kết AR - tức là, thực hiện mã trong khối một lần cho mỗi thành viên trong mảng bars
của tôi?
Cảm ơn vì điều này.Tôi không nghĩ rằng bất cứ ai khác đã cố gắng làm điều này! Cảm ơn ... rất nhiều! – Nitrodist