我工作的Rails的博客教程和語法雲:爲什麼form_for方法以符號爲參數?
<%= form_for :article do |f| %>
我真的不明白,當一個輔助方法或方法接受一個符號作爲參數,當它不...
我工作的Rails的博客教程和語法雲:爲什麼form_for方法以符號爲參數?
<%= form_for :article do |f| %>
我真的不明白,當一個輔助方法或方法接受一個符號作爲參數,當它不...
form_for接受多種類型的參數。
(a)中的符號:的form_for:文章
form elements can accessed in controller by params[:article]
(b)中的字符串:的form_for 「製品」
form elements can be accessed in controller by params[:article]
(C)對象:的form_for @article
(1) Here @article is expected to contain an instance of Article. In the controller this form elements can be accessed through params[:article].
(2) If a form is expected to be accessed through a custom name, it can be done by using :as operator. form_for @post, as: :my_post
(d)array:form_for [:my,@article]
:my is used to namespace @article. With params[:my_article] form elements can be accessed in controller
需要一些額外的細節來理解答案:該函數實際上將符號,字符串或路徑作爲可能的參數。
回答「爲什麼」的問題:缺省使用符號,因爲比較比直接字符串比較快。
我不確定這是是一個實際的*「答案」*。似乎更適合作爲評論 – engineersmnky
https://apidock.com/rails/ActionView/Helpers/FormHelper/form_for – Pavan
您可以在#new視圖中使用':article':以前沒有記錄:文章存在,您正在創建一篇新文章,以便您只需要告訴欄杆這是你正在做的一篇文章的一種形式。在編輯視圖中,您可以使用'@ article'而不是':article',然後表單將爲您要修改的文章選取已知值(然後預填表格) – Maxence