2015-05-29 22 views
0

對新手要溫柔......Rails。爲什麼我的提交按鈕說創建與更新取決於

Ruby版本2.2.2p95,Rails版本4.2.1。

我完成了示例博客應用程序。工程很好,我一直在擴大。但我是一個小菜鳥,顯然缺少一些根本性的東西。從主索引中,您將看到文章列表,並且您有一些鏈接。

一個環節是創建一個新的文章:

<%= link_to 'Post New Article', new_article_path %> 

另一種方法是編輯現有的文章。

<%= link_to 'Edit', edit_article_path(article) %> 

在第一個實例中,new.html.erb視圖調用,並且在第二,edit.html.erb。這些文件是相同的,並呈現部分_form.html.erb

表單完全相同,但由於您遵循不同的路徑,因此產生的操作不同。很好,但爲什麼提交按鈕在瀏覽器中顯示爲創建文章在一個實例中,而更新文章另一個?那來自哪裏?我使用相同的表單來做2件不同的事情,是什麼導致按鈕改變文字?

+0

您可以發佈您'_form.html.erb'和'edit.html.erb'? – bhanu

回答

1

它在Rails框架中定義。每當新方法被稱爲params[:action] = 'new',所以,對於form我們使用f.submit。這個f對象是那個new方法的實例。因此框架決定顯示按鈕名稱「新文章」。 Article對象動作

對於更新,params[:action]edit。但是,正如我們所使用PATCH/PUT方法進行更新,軌顯示按鈕名稱f.submit = 更新文章

相關問題