ruby-on-rails – 带有activemodel(无表格)对象的Rails 3和field
发布时间:2020-12-17 03:30:12 所属栏目:百科 来源:网络整理
导读:我有一个无表格模型,我正在尝试生成一些表单字段. 表单看起来像这样: = form_for :users,url: users_path do |f| - books.each do |book| = f.fields_for :books,book do |bf| = bf.hidden_field :title,value: book.title = f.submit "Send" 我期望为每个
我有一个无表格模型,我正在尝试生成一些表单字段.
表单看起来像这样: = form_for :users,url: users_path do |f| - books.each do |book| = f.fields_for :books,book do |bf| = bf.hidden_field :title,value: book.title = f.submit "Send" 我期望为每个字段生成的内容是这样的: <input name="users[books][][title]" type="hidden" value="Some Book Title"> <input name="users[books][][title]" type="hidden" value="Some Book Title"> <input name="users[books][][title]" type="hidden" value="Some Book Title"> 但是,我实际得到的是 <input name="users[books][title]" type="hidden" value="Some Book Title"> <input name="users[books][title]" type="hidden" value="Some Book Title"> <input name="users[books][title]" type="hidden" value="Some Book Title"> 这意味着当提交表单时,只有最后一个输入字段可用,因为前两个字段已被覆盖,因为它们引用相同的内容. 当模型具有活动记录后端但不是无表格时,这可以正常工作. 有什么建议? 解决方法
我认为您需要将此添加到您的用户模型中
def books_attributes= attributes # do something with attributes # probably: # self.books = attributes.map{|k,v|Book.new(v)} end 并且还定义了持久性? Book实例的方法.让它只是返回false. 并在视图中为fields_for添加f: = f.fields_for :books,book do |bf| 我希望这会奏效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |