我正在开发一个应用程序,其中一个控制器控制多个模型的创建操作。我有更多的代码,但我不确定这个错误是否特定于代码或通用修复(如更改HTTP请求),这不需要我发布我的整个设置。
我有一个'strong>模型, belongs_to '活动'是从活动控制器生成的。每项活动 has_one 篮球模型。
然后在篮球控制器中我有这个。
def edit
@activity = Activity.find(params[:id])
@basketball = @activity.basketball
end
def update
@activity = Activity.find(params[:id])
@basketball = @activity.basketball
if @basketball.update_attributes(basketball_params)
flash[:notice] = "Activity has been updated."
redirect_to activities_path
else
flash[:notice] = "Activity has not been updated."
render 'edit'
end
端
但是,当我点击更新按钮时,我的页面会显示一个空白页面,其中包含网址中的所有参数。例如:
http://0.0.0.0:8080/basketballs/10/edit?utf8=%E2%9C%93&_method=patch&authenticity_token=[token]&basketball
有谁知道如何解决这个问题?
答案 0 :(得分:0)
您的视图中有3个嵌套表单。
以下是问题:app/views/strengthworkouts/_formatting.html.erb line 65和app/views/workouts/_strengthworkout.html.erb line 5
删除这些<form>
代码,保留form_for
。
仅使用了最外层的表单。由于它没有action
或method
或任何属性,因此提交它只会触发{{1在查询字符串中使用params的当前路径。