我有一个嵌套的模型系统和一个静态页面。
我的模特是:
用户模型:
has_many :collections
has_many :designs, :through => :collections
收藏模型:
belongs_to :user
has_many: designs
设计模型:
belongs_to :user
belongs_to :collection
静态页面应该显示所有用户设计,并且确实如此。不幸的是,链接被破坏但是我认为它们是正确的链接,我只是在控制器中做错了。
以下是显示所有设计的页面的静态页面控制器:
def home
if signed_in?
@designs = Design.all
end
end
我还尝试在@designs
行之前添加这些行(不同的时间):
@collection = Collection.all
@collection = Collection.find(params[:collection_id])
以下是静态页面的视图(至少是表格):
<% @designs.each do |design| %>
<fields are here>
<% end %>
为什么链接坏了?如上所述,除了链接外,页面上的一切看起来都很棒。
展示设计:
link_to collection_design_path(@collection, design)
但这变成了:
myURL/collections//designs/:id
应该看起来像:
myURL/collections/:id/designs/:id
第一个ID是collection_id
,第二个ID是design_id
:
编辑:
链接中未使用集合ID。