2016-01-17 17 views
0

所以我有这个Ruby on Rails课程,我必须为它创建一个非常简单的博客应用程序。但是这让我很难过!控制器转入另一个控制器在导轨?

我有这个模型叫'文章',我可以通过导航到/文章看到所有文章的列表。我按照Rails文档为它制作了一个控制器。 我的老师也希望我做一个'管理员'区域,所以我需要通过访问/ admin/articles访问相同的列表。

我该怎么做? 我知道这是一个非常愚蠢的问题,但我无法在任何地方找到答案。

谢谢您的时间!

+0

您可以为资源“文章”添加名称空间。它在rails guide教程中提到(http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing) – Sasidaran

回答

1

你需要为/文章/管理/文章创建路线

的routes.rb

GET “/篇”=> “的文章#指数”

namespace:admins do get“/ articles”=>“articles#index”
end

并创建2个控制器。

1)

class ArticlesController < ApplicationController 

    def index 
    @articles = current_user.articles 
    end 

end 

和用于管理,创建文件夹下的管理员的另一个控制器。

2)

class Admins::ArticlesController < Admins::BaseController 
    def index 
    @articles = Articles.all 
    end 
end 

这里继承Basecontroller与不同的命名空间更好的编码和处理控制器。或者你也可以继承应用程序控制器。

还有一件事情,请按照导轨标准命名约定,创建像文章一样的单数名称的模型,以及像控制器一样的复数形式。