Rails路由(root:to => …)
我知道如何将我的rails应用程序的路由根设置为控制器和操作。
但如何添加一个ID?
/pages/show/1
应该是根。
我如何设置?
有这个相同的问题,这对我工作:
root :to => "pages#show", :id => '1'
从Rails 4.0开始 ,你可以像这样声明根路由:
root 'controller#action'
马修的解决scheme的作品,但我认为这是更容易读取对象。 例如,假设您要为名称为“landing”的页面创build根Page#show
操作。 这是更可读:
root :to => "pages#show", :id => Page.find_by_name("landing").id
从性能angular度来看,这个解决scheme更糟,因为它需要额外的数据库查询,但是如果性能不是高优先级的话,这个解决scheme更具可读性。
尝试:
match 'pages/show/:id' => 'pages#show', :as => :root
在Rails控制台中。 rake routes | grep root
rake routes | grep root
,应该显示像这样的东西:
root /pages/show/:id(.:format) {:controller=>"pages", :action=>"show"}
希望有所帮助。
我正在使用Rails 5.1将主页指向特定的博客。 在configuration/ routes.rb我有…
root 'blogs#show', {id: 1}
这会将根路由指向/ blogs / 1
我正在做一个我正在build设的博客网站。 第一个博客将成为主要网站博客以及主页。
干杯