我有兩個獨立的「組件」模型,聯繫人和文章。聯繫人有多種類型(生產者,出口商等)。Rails 3,更改或填寫控制器中提交的表單值
在新的文章表單中,我有一個帶有聯繫人(id和title)的下拉選擇器,並且希望將所選的值和文本存儲在文章表中。
在新的文章表單視圖:
<%= f.select :producer_id, options_for_select(producers, @article.producer_id) %>
這一工程,並producer_id
存儲在文章表。
那清晰的邏輯給我,但在某些情況下,我還需要存儲選擇的聯繫人的標題producer_title
。
我看過像許多不同的選擇「模型做,保存之前」或「做在控制器」,我已經做了內部控制。
條控制器(僅適用於部分來自更新):
#cont_name is producer title from Contacts
def update
params[:article][:producer_title] = Contact.where(id: params[:article][:producer_id]).pluck(:cont_name).first
end
這工作,但它是最好的實踐方法解決這個問題?
另外,爲什麼我不能得到它的工作,如果我改變params[producer_id]
部分使用:id: params[:producer_id]
?
最好的問候和謝謝。