1
我有持久化名稱屬性和虛擬屬性的ActiveRecord模型。Rails強壯的參數 - 接受虛擬屬性
class MyModel < ActiveRecord::Base
validates :name, length: { minimum: 1 }, presence: true
def virtual_attr=(value)
# set something
end
def virtual_attr
# get something
end
end
在我的控制,我指定強大的參數:
def my_model_params
params.permit(:name, :virtual_attr)
end
當我試圖創建/更新我的模型,my_model_params
只包含一個名字,雖然我知道params[:virtual_attr]
具有的價值,我傳遞給控制器。它似乎只是被過濾掉了。我究竟做錯了什麼?
可以請你張貼的內容PARAMS你得到的控制檯完成PARAMS哈希 –
@Deepak這裏是PARAMS哈希:「{」name「=>」New「,」virtual_attr「=> {」enable「=>」false「,」start「=>」false「},」controller「=>」my_model「,」action「= > 「創建」}'。它在那裏 – alexs333