我知道如何将我的 Rails 应用程序的路由根设置为控制器和操作。
但是,如何添加 ID?
/pages/show/1
应该是根目录。
我该如何设置它?
我知道如何将我的 Rails 应用程序的路由根设置为控制器和操作。
但是,如何添加 ID?
/pages/show/1
应该是根目录。
我该如何设置它?
我曾经遇到过同样的问题,这个解决方法对我有用:
root :to => "pages#show", :id => '1'
从Rails 4.0开始,您可以像这样声明根路由:
root 'controller#action'
root 'controller#action', {your_params}
- NBSamar我使用Rails 5.1将主页定向到一个特定的博客。在config/routes.rb文件中,我有...
root 'blogs#show', {id: 1}
这将把根路由指向 /blogs/1
我正在构建一个博客网站,并在使用此功能。第一篇博客将会是主页及主要的博客。
谢谢!
马修的解决方案可行,但我认为获取对象更易读。例如,假设您想将根路由设置为名称为“landing”的页面的Page#show
操作。这样更易读:
root :to => "pages#show", :id => Page.find_by_name("landing").id
从性能角度来看,这个解决方案较差,因为它需要进行额外的数据库查询,但是如果性能不是高优先级,则这个解决方案更易读。
尝试:
match 'pages/show/:id' => 'pages#show', :as => :root
rake routes | grep root
命令,应该会显示如下内容:root /pages/show/:id(.:format) {:controller=>"pages", :action=>"show"}
使用Rails 5.1版本 将以下内容添加到config/routes.rb文件中
root 'pages#show', {id: 1}
?id=1
添加到URL中... - msanteler