如何在Ruby on Rails中将子对象添加到父对象

时间:2017-08-17 15:33:54

标签: ruby-on-rails class model-view-controller

我对rails非常陌生,所以这看起来很容易。我使用rails命令generate scaffold workout name创建了 workout 资源。然后我用rails g model workout_id创建了一个rails模型。之后,我将<{1}}添加到锻炼,将has_many添加到

belongs_to

我希望能够做的就是点击class Workout < ApplicationRecord has_many :week end class Week < ApplicationRecord belongs_to :workout end 页面上的按钮/链接,为特定的锻炼添加 。 最好的方法是在类中为锻炼添加addPages操作或创建操作吗?我希望显示页面能够以适当的周数更新自己。我尝试过像

这样的东西
workout/show

但是我遇到了一些错误。

1 个答案:

答案 0 :(得分:0)

<强>路线

resources :workouts do
  post :addWeek, on: :member
end

查看

= link_to "Add", add_week_workout_path(@workout), method: :post

<强>控制器

def add_week
  @workout.weeks << Week.create
end

<强>模型

class Workout < ApplicationRecord
  has_many :weeks
end

class Week < ApplicationRecord
  belongs_to :workout
end