Ruby on rails Rails 4带布线的深嵌套

Ruby on rails Rails 4带布线的深嵌套,ruby-on-rails,ruby,routing,nested-resources,Ruby On Rails,Ruby,Routing,Nested Resources,这是我的路线。rb: resources :books, :path => "librairie" do resources :chapters, shallow: true end resources :chapters do resources :titles, shallow: true end resources :titles 以下是我的模型: class Book < ActiveRecord::Base has_many

这是我的路线。rb:

  resources :books, :path => "librairie" do
      resources :chapters, shallow: true
  end


  resources :chapters do 
     resources :titles, shallow: true
  end
  resources :titles
以下是我的模型:

class Book < ActiveRecord::Base
has_many :chapters
end

class Chapter < ActiveRecord::Base
belongs_to :book
has_many :titles
end

class Title < ActiveRecord::Base
belongs_to :chapter
end
classbook
我想做的是在图书馆里选择一本书,然后看到一个包含所有章节和标题(属于每一章)的页面。这很有效。(图书馆=所有书籍| |书籍#展示=包含所有章节和标题的书籍)

然后,单击标题并获得一个页面以查看相应的文本。这也行得通。(标题#秀)

现在我想在Title#Show视图的顶部添加一个按钮,如下所示:

书名:章节:书名和与书的链接(书展)

然而,在控制器中呆了一段时间后,我开始完全迷失方向,结果看起来越来越糟。如何添加这样的按钮?

好的,您可以这样做

class Title < ActiveRecord::Base
  belongs_to :chapter
  has_one :book, through: :chapter
end
这意味着在你看来你可以

class TitlesController
  def show
    @title = Title.find(params[:id])    
    @book = @title.book
  end  
end
<%= link_to book_path(@book) do %>
  <%= "#{ @book.title } #{ @chapter.title } #{ @title.title }" %>
<% end %>

我假设你在这里找到了行动之前的
章节。

好的,你可以这样做

class Title < ActiveRecord::Base
  belongs_to :chapter
  has_one :book, through: :chapter
end
这意味着在你看来你可以

class TitlesController
  def show
    @title = Title.find(params[:id])    
    @book = @title.book
  end  
end
<%= link_to book_path(@book) do %>
  <%= "#{ @book.title } #{ @chapter.title } #{ @title.title }" %>
<% end %>


我想你在这里找到了行动前的
章节。

你的模型是如何布置的<代码>书有很多章节
章节有很多:标题
?只需
属于
?感谢您的编辑和回复。模型:书籍:课程书籍书有很多章节
章节有很多:标题
?只需
属于
?感谢您的编辑和回复。模型:书籍:课程书籍
def show

@title=title.find(params[:id])



因为这本书没有被识别出来。不确定是否理解这一行:
有一本:书,通过::章
,但我会在rails指南中查找,我可能错过了一些相关内容。非常感谢!!非常感谢你。因此,我还没有掌握Rails,我已经找到了基于您的解决方案:
def show

@title=title.find(params[:id])



因为这本书没有被识别出来。不确定是否理解这一行:
有一本:书,通过::章
,但我会在rails指南中查找,我可能错过了一些相关内容。谢谢