Rails form_for many to many relationship

时间:2016-08-14 05:14:03

标签: ruby-on-rails ruby many-to-many form-for nested-form-for

如果这是一个简单的问题,请原谅我。我花了一些时间搜索SO并且没有为这个问题提供明确答案。我也是铁杆新手。

我与其间的关联表有很多很多关系。关系是 锻炼有很多练习 锻炼属于许多锻炼。

我有两个表单,一个用于创建新的训练,另一个用于创建新练习。第3个表单将用于填充关联表“workout_exercises”。这将允许用户将练习添加到多个锻炼中。

我希望用户选择一个锻炼,在那里他们将看到一个按类别下拉过滤的练习列表(我已经工作了)。在表单提交上选中的复选框将获取为练习提交的ID。问题是此表格无法提供锻炼的ID。

我的模特看起来像这样

class Exercise < ActiveRecord::Base
   belongs_to :category
   belongs_to :workout_exercise
end

class Workout < ActiveRecord::Base
   belongs_to :workout_exercise 
end

class WorkoutExercise < ActiveRecord::Base
    has_many :workouts
    has_many :exercises 
end

控制器动作看起来像这样

def exercises
      @workout_exercise = WorkoutExercise.new
      respond_to do |format|
         format.js {
            @workout = #?? I don't have the workout ID available from the request
            @exercises = Exercise.where(category_id: params[:id]) #this is for the dropdown filter :id grabed on select change

         }
      end
   end

我在想这个问题的可能选择可能是以某种方式使用嵌套路由?

提前感谢您的帮助!

0 个答案:

没有答案