2016-05-31 53 views
0

我有一個表單需要提交給控制器中的「更新」操作。 「show」操作被調用,而「update」操作從不運行。Rails顯示操作被調用而不是更新操作

我的路線:

 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

我的控制器有一個有效的 「更新」 行動也是如此。

+0

表單是從傳遞給React組件的Javascript對象呈現的。 – cmwall

+0

請向我們展示整個表單代碼,至少form_for或form_tag。 – Leito

+0

沒有form_for標籤。表單是通過將JavaScript對象傳遞給React組件來創建的,React組件然後設置動作和方法。 – cmwall

回答

1

你不應該忘記通過idrecord,就像如下:

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

也順便避免action鍵:

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

謝謝,但這仍然稱爲'show'方法。 – cmwall

+0

@cmwall upadted答案 –

1

嘗試方法PATCH大寫字母表示。只是一種預感。 HTTP動詞通常區分大小寫,並且意味着大寫。