Javascript 以嵌套形式更新
Im使用Rails 3.0.3Javascript 以嵌套形式更新,javascript,jquery,ruby-on-rails,ruby-on-rails-3,Javascript,Jquery,Ruby On Rails,Ruby On Rails 3,Im使用Rails 3.0.3 我有一个示范法案: class Bill < ActiveRecord::Base has_many :entries accepts_nested_attributes_for :entries end 所以问题是,rails在我提交时正在寻找账单中的条目 知道如何解决这个问题吗?我不知道嵌套表单如何解决这个问题,所以我将allready手动存在的条目设置为账单: nested_entries = {} params[:
我有一个示范法案:
class Bill < ActiveRecord::Base
has_many :entries
accepts_nested_attributes_for :entries
end
所以问题是,rails在我提交时正在寻找账单中的条目
知道如何解决这个问题吗?我不知道嵌套表单如何解决这个问题,所以我将allready手动存在的条目设置为账单:
nested_entries = {}
params[:bill][:entries_attributes] = {}
params[:entries].each_pair do |key, value|
if value[:id].nil?
params[:bill][:entries_attributes][key] = value
else
nested_entries[key] = value
end
end
@bill = Bill.new(params[:bill])
@bill.save
bill_id = @bill.id
nested_entries.each_pair do |key, value|
@entry = Entry.find(value[:id])
value[:bill_id] = bill_id
@entry.update_attributes(value)
end
ActiveRecord::RecordNotFound (Couldn't find Entry with ID=127 for Bill with ID=):
app/controllers/bills_controller.rb:121:in `new'
app/controllers/bills_controller.rb:121:in `create'
nested_entries = {}
params[:bill][:entries_attributes] = {}
params[:entries].each_pair do |key, value|
if value[:id].nil?
params[:bill][:entries_attributes][key] = value
else
nested_entries[key] = value
end
end
@bill = Bill.new(params[:bill])
@bill.save
bill_id = @bill.id
nested_entries.each_pair do |key, value|
@entry = Entry.find(value[:id])
value[:bill_id] = bill_id
@entry.update_attributes(value)
end