rails嵌套表单未知属性

时间:2013-03-30 20:33:08

标签: ruby-on-rails nested-forms

我在这里读了几篇关于这个错误的帖子,但没有人真的适合我的问题。

产生的错误是

ActiveRecord::UnknownAttributeError: unknown attribute: practice_id

当我尝试在rails控制台中构建uebung_maps时发生了这种情况:


irb(main):003:0> @p = Practice.new
=> # Practice id: nil, datum: nil, start: nil, end: nil, group: nil, topic: nil, theoab: nil, pracab: nil, action: nil, water: nil, tools: nil, broken: nil, toolkeeper: nil, atw: nil, atfinfo: nil, created_at: nil, updated_at: nil>
irb(main):004:0> @p.uebung_maps.build
ActiveRecord::UnknownAttributeError: unknown attribute: practice_id
    from /home/basti/.rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.13/lib/active_record/attribute_assignment.rb:88:in `block in assign_attributes'

我的模型等等如下所示

练习模型

class Practice < ActiveRecord::Base
  has_many :uebung_maps
  has_many :persons
  accepts_nested_attributes_for :uebung_maps
  attr_accessible :uebung_map_attributes, :action, :atfinfo, :atw, :broken, :datum, :end, :group, :pracab, :start, :theoab, :toolkeeper, :tools, :topic, :water
end

Uebung_map模型

class UebungMap < ActiveRecord::Base
  belongs_to :person
  belongs_to :role
  belongs_to :practice
  belongs_to :vehicle
  attr_accessible :person_id, :role_id, :uebung_id, :vehicle_id
end

2 个答案:

答案 0 :(得分:2)

尝试将:practice_id添加到attr_accessible,如下所示:

attr_accessible :person_id, :role_id, :uebung_id, :vehicle_id, :practice_id

答案 1 :(得分:0)

我终于找到了问题。 uebung_map中的专栏应该指出Pratice被命名为uebung_id而不是practice_id ..现在它正在工作