【发布时间】:2014-12-23 20:07:56
【问题描述】:
我有一个带有以下内容的 Rails 项目:
record.rb
class Track < ActiveRecord::Base
has_many :records
end
track.rb
class Record < ActiveRecord::Base
belongs_to :track
end
(顺便说一下,我的意思是这样的关联,不像在音乐行业!在这种情况下,轨道就像一个特定的班级,一个记录就是一个特定的考试成绩。每个轨道都有多个记录,每条记录只能属于一个轨道等)
然后在tracks/show.html.erb 中,我有一个属于特定轨道的所有记录的列表。在底部,我想要一个“添加”链接,即类似
<%= link_to 'Add', new_record_path %>
我是个很菜鸟,我知道这个问题以前可能已经被问过。但是,我不确定如何将allthedifferent 的一些信息应用于我的问题。我尝试将轨道作为参数传递
<%= link_to 'Add', new_record_path(@track) %>
并在records_controller.rb中定义new方法如下
def new(track)
@record = Record.new
@record.track_id = track.id
end
但我收到错误wrong number of arguments (0 for 1),我认为这很令人困惑,因为我在控制器中指定new 应该接受一个参数。无论如何,我怀疑这种方法是错误的,或者至少不像 Ruby,因为在我看过的所有问题/教程中,都没有出现过这样的情况。如果有人能解释我如何直接(当然在功能上)实现这一点,我将不胜感激......
【问题讨论】:
标签: ruby-on-rails ruby activerecord associations