通过与用户的关系,多对多

时间:2013-09-21 21:07:27

标签: ruby-on-rails devise many-to-many ruby-on-rails-4 has-many-through

在Rails 4上,我正在为我的用户使用设计,我有一个练习脚手架。

每个用户都有很多练习,每个练习都有很多用户,这是通过一个名为schedule的模型来完成的。

我想构建一个表单,以便在创建新练习时可以将其分配给用户。在创建新练习时,我很少迷失如何允许schedule表同时接受exercise_id和user_id。任何帮助表示赞赏!

/user.rb

class User < ActiveRecord::Base
    devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable

has_many :schedules
has_many :exercises, :through => :schedules

/exercise.rb

class Exercise < ActiveRecord::Base
validates :description, presence: true

has_many :schedules
has_many :users, :through => :schedules

/schedules.rb

class Schedule < ActiveRecord::Base
belongs_to :exercise
belongs_to :user

运动控制器

def exercise_params
  params.require(:exercise).permit(:description, :notes, :video, {:users=>[]})


end

修改

为了让Schedule表填充Exercise_id和User_ids,我迷失了下一步的操作。

架构:

USERS ID 电子邮件 名称 (来自设计的标准专栏)

EXERCISES ID 描述 created_at 的updated_at 标签 笔记 video_file_name video_content_type video_file_size video_updated_at

SCHEDULE ID exercise_id 用户身份 位置 created_at 的updated_at

0 个答案:

没有答案