编辑操作呈现空白页;参数哈希显示在 URL 中



我正在开发一个应用程序,其中一个控制器控制多个模型的创建操作。我有更多的代码,但我不确定此错误是特定于代码还是不需要我发布整个设置的通用修复(例如更改 HTTP 请求)。

我有一个"篮球"模型,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

结束

但是,当我单击更新按钮时,我的页面呈现一个空白页面,其中包含 url 中的所有参数。例:

http://0.0.0.0:8080/basketballs/10/edit?utf8=%E2%9C%93&_method=patch&authenticity_token=[token]&basketball

有谁知道如何解决这个问题?

您的视图中有 3 个嵌套表单。

以下是问题:app/views/strengthworkouts/_formatting.html.erb 第 65 行和 app/views/workouts/_strengthworkout.html.erb 第 5 行

删除这些<form>标签,保留form_for

只使用了最外层的形式。而且由于它没有任何actionmethod或任何属性,因此提交它只会触发对当前路径的GET,其中包含查询字符串中的参数。

最新更新