如何通过 Rails 中的控制器或视图的路由添加额外的参数

ind*_*dex 2 parameters routes ruby-on-rails

我知道在轨道路线中我可以做一些类似在控制器或视图中可用的事情get 'books/*section/:title', to: 'books#show'params[:title]

但我找不到一些东西来获得可用的固定额外参数。就像,我总是会得到类似params[:preview] = true总是基于路线的某些参数的东西。

我知道我总是可以做这样的事情:

def new
  params.merge!({preview: true})
end
Run Code Online (Sandbox Code Playgroud)

但我想知道是否还有其他方法。

Ben*_*enj 5

只需使用defaults

get 'books/*section/:title', to: 'books#show', defaults: {preview: true}
Run Code Online (Sandbox Code Playgroud)

http://guides.rubyonrails.org/routing.html#defining-defaults