我在这里读了几篇关于这个错误的帖子,但没有人真的适合我的问题。
产生的错误是
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
答案 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 ..现在它正在工作