1

在rails中如何设置控制器的默认页面。在我的应用程序中,我有一个名为“问候”的控制器,它有两个动作“欢迎” 和“愿望”。因此,在调用“localhost:3000/greet/welcome”这样的欢迎页面时可以正常工作。在Rails中设置控制器的默认页面

但我的要求是,如果我没有给 给这个控制器的动作名称,如“localhost:3000/greet”,那么它只需要为该控制器关联的默认页面。如何在rails 4.2中执行此操作 。我试图在问候控制器中进行索引操作。但它没有奏效。任何人都可以帮我解决这个问题吗?

+0

希望你找到答案。你可以做: –

+1

:路线资源 – user1735921

回答

1

的routes.rb添加一行:

get '/greet' => 'greet#welcome' 

还必须在文件夹中创建viewgreet和此文件夹中,你必须创建文件welcome.html.erb

1

试试这个。

get '/greet', to: 'greet#welcome' 
1

Rails使用REST概念工作。所以,根据这个,你只需拨打localhost:3000/greet就会搜索greet#index方法。好吧,如果你想看到的任何自定义的方法,而使用localhost:3000/greet,则需要在文件中写入的config/routes.rb中,如:

Rails.application.routes.draw do 
    get 'greet', :to => 'greet#welcome', :as => :greet 
end 

希望这会有所帮助。

1
Rails.application.routes.draw do 
    resource :greet, controller: 'greet' do 
    get 'welcome' 
    get 'wishes' 

    #Default resource routing 
    get '/', to: 'greet#welcome' 
    end 
end