8

私は2つのコントローラーを持っています:

app/
   /controllers
      posts_controllers.rb
      /mobile
         posts_controllers.rb

そして私のroutes.rbは次のようになります:

root :to => "posts#index"
resources :posts

namespace :mobile do
   root :to => "posts#index"
   resources :posts
end

しかし、私が訪問したとき/mobile、それはとにかく最初のコントローラーの演色評価数ページであり、これも試しました:

namespace :mobile do
   root :to => "mobile/posts#index"
   resources :posts
end

しかし、それは私にエラーを与えています:uninitialized constant Mobile::Mobile 私は2番目のコントローラーのインデックスページをレンダリングしたいのですが、どうすればそれを行うことができますか?

編集

/ mobileと入力して、ここにあるファイルをレンダリングします。

app/
   views/
       /mobile
          /posts
             index.html.erb

しかし、ここでファイルをレンダリングしています:

app/
   views/
       /posts
          index.html.erb
4

3 に答える 3

24
namespace :mobile do
   root :to => "posts#index"
   resources :posts
end

root :to => "posts#index"
resources :posts

それ以外の

root :to => "posts#index"
resources :posts

namespace :mobile do
   root :to => "posts#index"
   resources :posts
end
于 2014-06-08T17:09:02.733 に答える
8
namespace :mobile do
   get "/" => "posts#index"
   resources :posts
end

名前空間を使用すると、そのブロック内のコントローラーの名前の前にモバイルがすでに追加されています。

于 2012-10-12T11:31:46.827 に答える
5
Rails.application.routes.draw do

 root to: 'front/homes#index'

 namespace :front do
  resources :homes
 end 

 namespace :admin do 
  resources :interviews 
 end

 resources :meetings do 
  resources :slides
 end

end

rails5では機能します。

于 2017-02-23T11:45:18.040 に答える