0
私は自分のアプリケーションで、 "homework_students"と呼ばれる別のモデルのラジオボタンを使用して "interest"という列のフィールドを更新するためのフォームを持っています。 !)ネストされた形:私のモデルでRoR:ネストされたフォームとパッチ
<%= form_for @homework, url: homework_homework_student_path(:homework_id => @homework, home_work_students_id => @homework_student, :controller => 'homeworks', :action => 'update_interest'), method: :patch do |f| %>
<%= f.fields_for :homework_students do |builder| %>
<%= builder.radio_button :interest, '1' %>
</label>
1
<label>
<%= builder.radio_button :interest, '2' %>
</label>
2
<label>
<%= builder.radio_button :interest, '3' %>
3
</label>
<%= f.button :submit %>
<% end %>
<% end %>
:
homework.rb:
has_many :homework_students, :class_name => 'HomeworkStudent', dependent: :destroy
accepts_nested_attributes_for :homework_students
homework_students.rb
belongs_to :homework, :class_name => 'Homework', :foreign_key => :homework_id, dependent: :destroy
私は私のコントローラで使用するアクション(homeworks_controller.rb):しかし、それはしていないよう
resources :homeworks do
member do
patch :update_interest
end
resources :homework_students
end
:私は私のルートでので、ここでパッチをしようとしています
def update_interest
@homework.homework_students.where(id: params[:home_work_students_id]).each do |homework_student| homework_student.update_attributes(:interest)
end
redirect_to @homework, notice: 'Homework was successfully updated.'
end
「update_interest」アクションを使用します。私はhomework_studentsコントローラも持っていません。私はこのエラーを受け取りますが、おそらく上記の場合ももっと間違っています。
undefined local variable or method `homework_student'
ありがとうございます。どのような指導も感謝します。より多くの情報を与えることができます。