我想知道有關的,我需要的領域的唯一理由是決定做就可以了哪些操作。假設我有一篇模型文章,並且在創建一篇新文章時,我想要一個隱藏字段,該字段會有0,1,2,並且在控制器中新增,我會看到如果參數等於0,然後做這組邏輯或1,然後這組邏輯。在Ruby中創建一個域不與模型
謝謝你,我也知道,定義每個動作一組動作的將無法正常工作。
我想知道有關的,我需要的領域的唯一理由是決定做就可以了哪些操作。假設我有一篇模型文章,並且在創建一篇新文章時,我想要一個隱藏字段,該字段會有0,1,2,並且在控制器中新增,我會看到如果參數等於0,然後做這組邏輯或1,然後這組邏輯。在Ruby中創建一個域不與模型
謝謝你,我也知道,定義每個動作一組動作的將無法正常工作。
在表單中,您可以聲明與模型無直接關聯的隱藏和可見字段。當您提交表單時,在表單的操作中,您可以操作params
中與模型無關的屬性。
當你聲明,你可以使用那些與_tag
像email_field_tag
,radio_button_tag
結束,關於你的問題,hidden_field_tag
表單字段。示例:
<% hidden_field_tag 'this_is_hidden' %>
試一下,檢查一下行動:raise params.inspect
。這樣做,您會注意到params
現在包含您聲明的與您的模型無關的屬性的鍵(如屬性:this_is_hidden
)
嘗試用hidden_field_tag這樣做。 (建議:把它只是形式標記內提交按鈕之前)。
http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-hidden_field_tag
hidden_field_tag 'decide', '0'
然後在控制器的新動作,你可以捕捉它params哈希表內,並使用參數對比[:決定] .to_i
最簡單的方法是將隱藏字段設置爲@Zippie,如上所述。但是它有一些風險,因爲最終用戶可能會修改隱藏字段中的值,並且程序的行爲可能會有所不同。
什麼,我個人認爲是有某種方法從參數傳遞
Ex: if it is a new object then it should go to method A etc...
通過這種方式最終用途,以確定不會有機會修改工作流程。