首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RoR:嵌套表单和补丁

RoR:嵌套表单和补丁
EN

Stack Overflow用户
提问于 2016-11-30 03:33:00
回答 1查看 52关注 0票数 0

我的应用程序中有一个表单,我希望使用另一个名为"homework_students“的模型中的单选按钮来更新名为"interest”的列中的字段,所以我正在使用(或尝试使用!)嵌套表单:

代码语言:javascript
复制
    <%= 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:

代码语言:javascript
复制
has_many :homework_students, :class_name => 'HomeworkStudent', dependent: :destroy
accepts_nested_attributes_for :homework_students

homework_students.rb

代码语言:javascript
复制
belongs_to :homework, :class_name => 'Homework', :foreign_key => :homework_id, dependent: :destroy

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

代码语言:javascript
复制
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

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

代码语言:javascript
复制
resources :homeworks do
      member do
        patch :update_interest
      end
    resources :homework_students
  end

但它似乎没有使用"update_interest“操作。我也没有homework_students控制器。我得到了这个错误,但可能上面的错误更多。

代码语言:javascript
复制
undefined local variable or method `homework_student'

谢谢。感谢您的指导。可以提供更多信息。

EN

回答 1

Stack Overflow用户

发布于 2016-11-30 04:18:37

您的模型文件名似乎不正确。(homework_students.rb)它应该是单数(homework_student.rb)。此外,您的模型类名将是单数的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40874309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档