2016-07-05 13 views
1

Ich versuche, einen Wert von einem überprüften check_box zu bekommen, das keine Spalte im Modell ist. Die Variable ist jedoch immer nil. Was genau mache ich falsch?Wie bekomme ich Wert von einer 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: Controller

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

EDIT2: usage in Survey.rb

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

Haben Sie den end_time_check param auf Controller permited haben? –

+0

Ja, ich habe vergessen und dachte, dass dies das Problem sicher lösen wird. Aber nichts hat sich geändert – Simoroshka

+0

Das Formular sendet die richtigen Parameter, das Problem ist höchstwahrscheinlich in wie ich auf sie zugreifen ... – Simoroshka

Antwort

1

legen Sie ein Attribut als Wert dafür fest. wie:

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

Ausgang:

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

Eigentlich hat das erste, was Sie geschrieben haben, funktioniert! (addition value = "") – Simoroshka

+0

Zumindest dachte ich das für einen Moment, dann brach ich wieder etwas. Ich versuche jetzt das: '<% = survey_form.check_box: end_time_check, {: class => 'checkbox formsteuerelement show-toggle',: data => {: ziel =>" # endzeit "}}, true , false%> 'und immer noch mit checked checkbox das Ergebnis ist' nil' – Simoroshka

+0

die Ausgabe ist so, aber die Variable ist immer noch 'nil' nach dem Senden – Simoroshka

Verwandte Themen