所以我对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
答案 0 :(得分:0)
看起来您需要检查@cart对象,并确保在该对象中设置了accepts_nested_attributes_for line_items。
答案 1 :(得分:0)
我犯了一个大错误。我在数据库中将“project_materials_id”标记为“project_material_id”。