ActiveModel :: MissingAttributeError - 无法写入未知属性Rails 4

时间:2013-10-19 12:46:25

标签: ruby-on-rails ajax associations

所以我对rails框架还是一个新手。

构建资源时遇到问题。

我正在使用AJAX查询POST一个项目材料的JSON数组到一个带有line_items关联的购物车

(我正在关注敏捷Web开发手册)。

这是我得到的错误 ActiveModel::MissingAttributeError - can't write unknown attribute project_materials_id':

这就是我的控制器的样子。 在line_items控制器

# POST /line_items
# POST /line_items.json

def create

#materialsArray = params[:materials]
project_id = params[:project_id]
@cart = current_cart
#pm = ProjectMaterials.find(1)
#lm = @cart.line_items.build(:project_materials => pm)
#lm.save
array = JSON::parse(materialsArray)

#puts array

array.each do |key|
  pm = ProjectMaterials.find_by_svg_id(key['id'])
  lm = @cart.line_items.create!(:project_materials => pm)
  lm.save
end

render :js => "window.location = '#{project_path(Project.find(project_id))}'"

end

2 个答案:

答案 0 :(得分:0)

看起来您需要检查@cart对象,并确保在该对象中设置了accepts_nested_attributes_for line_items。

答案 1 :(得分:0)

我犯了一个大错误。我在数据库中将“project_materials_id”标记为“project_material_id”。