0

所以我对 Rails 框架还是很陌生。

我在构建资源时遇到问题。

我正在使用 AJAX 查询将POSTproject_materials 的 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
4

2 回答 2

0

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

于 2013-10-19T14:10:02.320 回答
0

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

于 2013-10-19T13:09:15.023 回答