2016-07-05 7 views
1

私は、チェックされたcheck_boxからモデルの列ではない値を取得しようとしています。ただし、変数は常にnilです。私は間違って何をしているのですか?check_boxから値を正しく取得するには?

_form.html.erb

<%= survey_form.check_box :end_time_check, :class => 'checkbox show-toggle' , :data => { :target => "#end-time" }%> 

survey.rb

class Survey < ActiveRecord::Base 
    attr_accessor :end_time_check 
.... 
before_validation :doSomething 

EDIT:コントローラ

params.require(:survey).permit(..., :end_time_check) 

EDIT2:Survey.rb

で使用
def doSomething 
    if self.end_time_check 
    //do something 
    end 
end 
+0

をpermitedていますか? –

+0

はい、私は忘れて、これが問題を確実に解決すると思っていました。しかし、何も変更されていません – Simoroshka

+0

フォームが正しいパラメータを送信していますが、問題は私がどのようにそれらにアクセスしているのかがよくわかります... – Simoroshka

答えて

1

は、この値として属性を設定します。以下のような:

<%= f.check_box :public, {}, true, false %> 

出力:あなたは、コントローラ上のend_time_checkのPARAMを

# <input id="event_public" name="event[public]" type="checkbox" value="true" /> 
+0

実際、あなたが書いた最初のことがうまくいっています! (値を加える= "") – Simoroshka

+0

少なくとも私はそう思ったので、もう一度何かを壊しました。私は今これを試しています: '<%= survey_form.check_box:end_time_check、{:class => 'チェックボックスフォームコントロールshow-toggle'、:data => {:target =>"#end-time "}}、true 、false false>> 'まだチェックされたチェックボックスでは結果は' nil' – Simoroshka

+0

出力はこのようですが、変数は依然として 'nil'です。 – Simoroshka

関連する問題