Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用slug显示操作的自定义路由_Ruby On Rails_Routes_Slug_Friendly Id - Fatal编程技术网

Ruby on rails 使用slug显示操作的自定义路由

Ruby on rails 使用slug显示操作的自定义路由,ruby-on-rails,routes,slug,friendly-id,Ruby On Rails,Routes,Slug,Friendly Id,我正在尝试为想要显示的模型创建一些URL。我有文章,属于问题的章节 我希望我的文章显示操作的URL如下所示: /issue slug/section slug/article slugissues文章和章节的slug存储在数据库中 现在我有一个叫做“pressroom”的后端部分,我有下面的方法。这是完整的routes.rb文件 MaskmagazineCom::Application.routes.draw do devise_for :users, :path_names => {

我正在尝试为想要显示的模型创建一些URL。我有文章,属于问题的章节

我希望我的文章显示操作的URL如下所示:

/issue slug/section slug/article slug
issues文章和章节的slug存储在数据库中

现在我有一个叫做“pressroom”的后端部分,我有下面的方法。这是完整的routes.rb文件

MaskmagazineCom::Application.routes.draw do

 devise_for :users, :path_names => { :sign_up => "register"}, :controllers => {    :registrations => "registrations" }
 # The priority is based upon order of creation: first created -> highest priority.
 # See how all your routes lay out with "rake routes".

 root 'magazine#index'
 get 'users/' => 'users#index'


 # Lobby Routes

 # /log-in

 devise_scope :user do
 get '/sign-in' => 'devise/sessions#new'
end

 # /subscribe

 get 'subscribe' => 'subscribe#stepone'
 get 'subscribe/sliding-scale' => 'subscribe#steptwo'
 get 'subscribe/sliding-scale/subscriber' => 'subscribe#subscriber'
 get 'subscribe/sliding-scale/supporter' => 'subscribe#supporter'
 get 'subscribe/sliding-scale/sustainer' => 'subscribe#sustainer'
 post 'subscribe/sliding-scale/:type' => 'subscribe#createSubscription'



# Pressroom Routes

get '/pressroom' => 'pressroom#index'
scope 'pressroom' do
resources :issues, :articles, :sections, :users, :authors
end
我如何才能拉出show动作并将其路由到我描述的url

编辑:

我已经在routes文件中提出了我希望它执行的操作,但我需要相应的控制器代码:


get'/:issue_slug/:section_slug/:article_slug'=>“article#show”

我建议查看slug

对于路线,您将希望您的路线为:

# Mag Routes

get '/mag' => 'mag#index' #or wherever you're headed
  scope 'mag' do
    resources :issues do
      resources :sections do
        resources :articles
      end
    end
  end
end

我已经在为Slug使用friendly_id了,我不知道我需要在文章控制器的show action中添加什么来获得我想要的url。我刚才向您展示的资源块位于
config/routes.rb
中。你能帮我发布你的全部路线文件吗?如上所述,我在你的路线中添加了不太正确的内容,我希望文章#show显示在/mag/issue\u slug/section\u slug/article\u slug。其余的路线都很好,mag实际上是您现在的布局方式。但这就是你如何找到你想要的方式的途径。当您链接到一篇文章时,您可以将其链接到
[@issue,@section,@article]
以访问您的文章#显示操作。示例-
mag
在您的路线中的何处?