Rails显示调用操作而不是更新操作

时间:2016-05-31 20:05:46

标签: ruby-on-rails

我有一个表单需要提交到控制器中的“更新”操作。正在调用“show”操作,而“update”操作永远不会运行。

我的路线:

       evaluations GET    /evaluations(.:format)              evaluations#index
                   POST   /evaluations(.:format)              evaluations#create
    new_evaluation GET    /evaluations/new(.:format)          evaluations#new
   edit_evaluation GET    /evaluations/:id/edit(.:format)     evaluations#edit
        evaluation GET    /evaluations/:id(.:format)          evaluations#show
                   PATCH  /evaluations/:id(.:format)          evaluations#update
                   PUT    /evaluations/:id(.:format)          evaluations#update
                   DELETE /evaluations/:id(.:format)          evaluations#destroy

表单由以下人员创建:

action: "<%= evaluation_path %>",
method: "patch" //I have tried both "post" and "put" as well

我的控制器也有一个有效的“更新”操作。

2 个答案:

答案 0 :(得分:1)

您不应忘记通过idrecord,如下所示:

action: evaluation_path(@evaluation), method: "patch"

也是避免action键的方法:

button_to "Update", evaluation_path(@evaluation), method: "patch"

答案 1 :(得分:1)

以大写字母尝试PATCH方法。只是一种预感。 HTTP谓词通常区分大小写,并且意味着大写。