2017-01-31 7 views
0
<%= f.input :divisor, collection: [["Weekly", 52], ["Monthly", 12], 
    ["Quarterly", 4]], as: :radio_buttons, label: false, input_html: 
    {id: "divisor"} %> 

フォームは値をdbに保存しますが、ユーザーが表示ページで選択したキー文字列も使用します。代わりに、モデル内のcase :divisor使用case self.divisorコレクション選択フォームでキーを取得するにはどうすればよいですか?

before_save :set_plan 
attr_accessor :plan 

def set_plan 
case :divisor 
when 52 
    puts "weekly" 
when 12 
    puts "monthly" 
when 4 
    puts "quarterly" 
end 
end 

答えて

0

:私はそうのようなモデルでのcase文を、使用してみました。 そのコレクションをテーブルに保存すると、self.divisorという文字列が表示されます。

などです。 あなたは、あなたがこの

before_save :set_plan 

def set_plan 
    puts Plan.find_by(plan_val: self.divisor).title 
end 
のようなあなたのコールバックを書くことができ、この

id|plan_val|title 1| 52 | Weekly 2| 12 | Monthly 3| 4 | Quarterly

のようなテーブルplansを作成します

関連する問題