0

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

我有一个从活动控制器生成的属于“活动”的“篮球”模型。每个活动都有_一个篮球模型。

然后在篮球控制器中我有这个。

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

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

4

1 回答 1

0

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

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

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

只使用了最外层的形式。而且因为它没有任何actionmethod任何属性,所以提交它只会触发GET带有查询字符串中的参数的当前路径。

于 2013-09-10T06:15:16.627 回答