我有一个带有许多静态页面的控制器,我最好用通配符来路由它们。
是否有可能做喜欢以下的事情?
get 'static/:action'
答案 0 :(得分:2)
您可能需要get 'static/:action', to: 'static#show'
之类的内容,然后在StaticController
show动作中根据params[:action]
参数呈现正确的静态页面。
有关详情,请参阅http://guides.rubyonrails.org/routing.html#defining-defaults。
答案 1 :(得分:2)
为什么不使用show
操作:
#config/routes.rb
resources :static, param: :page, only: :show #-> url.com/static/:page
#app/controllers/static_controller.rb
class StaticController < ApplicationController
def show
render "#{params[:page]}"
end
end
通过这种方式,您可以传递&#34;页面&#34;直接通过链接并让它全部由Rails处理:
<%= link_to "About", static_path("page") %>
答案 2 :(得分:1)
您可以路由类似
的内容get '*path', to: 'static#show'