2017-06-20 4 views
0

フォームをレンダリングしようとしていますが、エラーが発生していて、理由が見つかりません。シンプルフォーム(Rails)でエラーが発生しました

コントローラ

def new 
@student = Student.find(params[:student_id]) 
@learning_instrument = LearningInstrument.new 
end 

def create 

@student = Student.find(params[:student_id]) 
@learning_instrument = LearningInstrument.new(learning_instrument_params) 

@learning_instrument.student = @student 


if @learning_instrument.save 
    redirect_to student_path(@student) 
else 
    render :new 
end 
end 


private 

def learning_instrument_params 
    params.require(:learning_instrument).permit(:level, :student_id, :instrument_id) 
end 

これは私が "不明な属性builderを書き込むことができない" そうだ、私のフォーム

<%= simple_form_for(@student, @learning_instrument) do |f| %> 
    <%= f.error_notification %> 

    <%= f.input :level %> 
    <%= f.association :instrument, collection: Instrument.all %> 
    <%= f.hidden_field :student, value: @student %> 

    <%= f.button :submit %> 
<% end %> 

です。ので、私はこのようなものにいくつかの回をやった、それが働いていたが、私はそれが

おかげ

答えて

0

を動作させることはできません。この時間は、未知の属性ビルダーに

を書くことができないですこのライン<%= simple_form_for(@student, @learning_instrument) do |f| %>。あなたのようネストされたリソースためsimple_form_forを定義する必要があり、以下の

<%= simple_form_for [@student, @learning_instrument] do |f| %> 
+0

男は私が愚かだと感じるのですか?角括弧のかわりにかっこに気付かなかった –

+0

@CarlosSilvaあなたの解決した場合は、それを受け入れたとマークしてください! – Pavan

関連する問題