查询字符串参数始终为零

时间:2015-10-08 11:38:46

标签: ruby-on-rails params

这是我通过路线检索params[:status]的方式:

namespace :admin do
  get 'provider/status/:status', as: 'status_provider', to: 'providers#index'`
end

但我总是params[:status]返回nil

if params[:status].nil?
  providers = Provider.order("#{sort_column} #{sort_direction}")
else
  providers = Provider.filter_by_params(params[:status]).order("#{sort_column} #{sort_direction}")
end

以下是观点:

<%= admin_status_provider_path("enabled") %>

已更新

我也试过编辑我的观点:

<%= admin_status_provider_path(status: "enabled") %>

<a href="<%= admin_status_provider_path(status: 'enabled') %>" class="btn btn-default">
  Enabled
</a>

但结果仍然相同。

1 个答案:

答案 0 :(得分:2)

您的状态是预期的:状态为整数,因此更改后应该执行操作

namespace :admin do
  get 'provider/status/:status', as: 'status_provider', to: 'providers#index', constraints: { status: /.*/ }
end

这就是诀窍

Started GET "provider/status/abc" for 127.0.0.1 
Processing by ProvidersController#index as HTML
Parameters: {"status"=>"abc"}