rue*_*ghn 3 ruby-on-rails rails-routing
我正在开发一个用于本地业务的ruby on rails应用程序.页面是"静态的",但可以通过我为他们构建的后端CMS进行更改.是否有为静态页面创建控制器的最佳实践?现在我有一个包含所有静态路由的站点控制器,就像这样.
的routes.rb
get "site/home"
get "site/about_us"
get "site/faq"
get "site/discounts"
get "site/services"
get "site/contact_us"
get "site/admin"
get "site/posts"
Run Code Online (Sandbox Code Playgroud)
或者我会更好地为这样的站点控制器创建成员路由,而不是因为"站点"不需要CRUD.
resources :sites, :except => [:index, :new, :create, :update, :destroy]
member do
get :home
get :about_us
get :faq
get :discounts
get :services
get :contact_us
get :admin
get :posts
end
Run Code Online (Sandbox Code Playgroud)
还是有最好的做法/更好的方法?任何答案将不胜感激.谢谢
如果静态页面列表不会增加,那么您可以保留列表,但如果您想要一个像site/any_new_url这样的动态列表,请将路由保存为
get 'site/:cms_page' => 'cms#show' # all requests matching site/any_page will go CmsController, show method
Run Code Online (Sandbox Code Playgroud)
这有助于减少路线膨胀,但缺点是你不知道所有路线都是有效路线.您的示例代码可以是
def show
@page_data = Page.find_by_page(:params[:cms_page])
end
Run Code Online (Sandbox Code Playgroud)
show.html.erb
<%= @page_data.html_safe %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2332 次 |
| 最近记录: |