這裏的相對新手到Ruby on Rails。影響從form_for設置結果參數
使用在視圖中的標準form_for
方法爲我SomeobjController#new
動作
= form_for @someobj do |f|
.
.
.
%p.submits
= f.submit "Submit", :class => "submit"
提交param[]
陣列產生一個包含@someobj
在形式設置的所有字段的散列,使得
param[someobj] => { "field1" => "val1", "field2" => "val2", ... }
我寧願把一個不同的值,結果someobj.to_s
到param[someobj]
爲SomeobjController#create
來處理,使得
param[someobj] => "strvalfromtos"
我懷疑它的相對的,但只是在情況下,模型底層這#new
動作不是在數據庫持久(即,Someobj
不從ActiveRecord::Base
衍生,雖然被包括加載ActiveModel的一些部分。)
我還沒有試圖調整它,直到#create被調用之後,但它從#new到#create的提交,我想要修改。我不清楚,如果我應該更關注form_for
聲明或在控制器中做一些特殊的事情(我猜form_for
是正確的重點)。
而且,是的,這整個事情可能是我的強迫症,但實際的字段名很長(適合模型),但#create所需的數據非常小。
假設someobj.to_s
已被寫入,是否有相對無痛的方式來做到這一點?
非常感謝, 理查德
您使用的是Rails 4嗎? – Beartech
你的問題還不清楚。你說你想要改變params散列的值? params散列的目的是從你的表單傳入數據。你是說你想要獲取表單數據,把它變成某種字符串,然後提交? – Beartech
對不起,Rails 3.2.16。是的,我想我是這麼說的,但是你的問題有助於爲我澄清它。我一直認爲它更像另一個參數,但考慮到情況似乎仍然合適。 – rdnewman