ROR:嵌套形式和补丁



我在应用程序中有一个表单,我希望使用该表单在此列中使用另一种称为" hommwork_students"模型中的"兴趣"列中的字段更新字段,因此我正在使用(或尝试!)嵌套形式:

    <%= 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 %>

在我的模型中:

"家庭作业":

has_many :homework_students, :class_name => 'HomeworkStudent', dependent: :destroy
accepts_nested_attributes_for :homework_students

hommwork_students.rb

belongs_to :homework, :class_name => 'Homework', :foreign_key => :homework_id, dependent: :destroy

我想在控制器(Homphorks_controller.rb)中使用的操作:

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

我在这里尝试补丁,所以在我的路线中:

resources :homeworks do
      member do
        patch :update_interest
      end
    resources :homework_students
  end

,但似乎没有使用" update_irtest"操作。我也没有家庭作业_STUDENTS控制器。我遇到了这个错误,但上面的错误也可能是错误的。

undefined local variable or method `homework_student'

谢谢。感谢任何指导。可以提供更多信息。

看来您的模型文件名称不正确。(hommwork_students.rb)它应该是奇异的(Homperwork_student.rb)。您的模型类名称也很单数。

相关内容

  • 没有找到相关文章

最新更新