【发布时间】:2014-10-29 02:17:49
【问题描述】:
我有两个班级 - ClassB 属于_to ClassA has_many ClassB。
我想要 class_a/index.html.erb 中的链接以基于 ClassA 索引中选择的 ClassA 对象创建新的 ClassB 对象 - 所以 class_a/index.html.erb 包括
@class_a.each do |object|
..object display..
link_to 'new ClassB', new_class_b_path(pass the ClassA param to the new ClassB object here)
end
我以为我必须这样传递参数 -
new_class_b_path(class_a_id: object.id)
我在 ClassB 控制器中有以下内容 -
@class_a = ClassA.find(params[:class_a_id])
@class_b = @class_a.class_bs.build
...但是我收到以下错误。我哪里错了?
ActiveRecord::RecordNotFound in ClassBController#new Couldn't find ClassA without an ID
【问题讨论】:
-
new_class_b_path(params[class_a_id: object.id])它应该类似于new_class_b_path(class_a_id: object.id)不需要params在控制器中使用 params[:class_a_id]` 来获取params -
嗨 - 仍然没有快乐。我知道 object.id 是有效的,因为我现在在代码中有一行检查它。似乎 object.id 没有被传递到 ClassBController。
标签: ruby-on-rails ruby-on-rails-4 routes params