Rails中的自定义路由

时间:2014-03-30 19:30:56

标签: ruby-on-rails ruby ruby-on-rails-3

我是rails的新手,对路由不太了解。也许这是一个愚蠢的问题或已经回答过。

我想做的是,我有(音乐)流派和艺术家。当我点击以显示有关流派的更多信息时,它会将我重定向到show.html.erb,当我点击以显示流派的艺术家时,我被重定向到艺术家索引页面。

我在我的应用中创建了一个页脚,我想从中访问数据库中的所有艺术家,而不仅仅是艺术家所属的类型。我想使用现有的控制器。

在我的艺术家控制器中,我有功能,

def all_artists
  @artists = Artist.all
end

我想创建一些all_artists.html.erb,它与#index或#show等控制器中的函数配合。

2 个答案:

答案 0 :(得分:0)

Rails中的路由不仅仅需要几句话来解释,但幸运的是there is a really good/easy to follow article on rails guides。您只需阅读开头即可获得所需信息。最后它会处理更复杂的情况,但这是我所见过的最简单的解释。

答案 1 :(得分:0)

我认为您需要的是收集路线。 将它添加到您的艺术家restful资源中,在路径文件中:

resources :artists do
  collection do
    get 'all_artists'
  end
end

该代码添加了调用控制器方法/artists/all_artist的路由all_artists。 路由名称和控制器方法可以具有不同的名称,例如:

get 'all', :as => '#all_artists'

在这种情况下/ artists / all_artist链接与艺术家#all_artist。

我希望可以提供帮助。