编辑动作渲染空白页面;参数hash显示在URL中

时间:2013-09-09 17:54:49

标签: ruby-on-rails ruby parameters associations

我正在开发一个应用程序,其中一个控制器控制多个模型的创建操作。我有更多的代码,但我不确定这个错误是否特定于代码或通用修复(如更改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

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

1 个答案:

答案 0 :(得分:0)

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

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

删除这些<form>代码,保留form_for

仅使用了最外层的表单。由于它没有actionmethod或任何属性,因此提交它只会触发{{1在查询字符串中使用params的当前路径。