Rails定制路线与params

时间:2013-06-20 15:12:21

标签: ruby-on-rails parameters routing jruby

我正在尝试在我的网址中显示参数,因此我添加了

patient_record_path(:limit => 10)

我现在正试图正确路由这个。 目前我收到错误

No route matches {:action=>"show", :controller=>"patient_record", :limit=>10}

我目前正在使用路线

match 'patient_record/show&limit', :to => 'patient_record#show'

1 个答案:

答案 0 :(得分:2)

您不应该为路线添加限制。只需简单地定义您的路线:

match 'patient_record/show', :to => 'patient_record#show', :as => 'patient_record_show'

然而,更好的解决方案是

resources :patient_records

这将创建以下路径助手:

patient_records_path => "/patient_records" => 'patient_record#index'
new_patient_record_path => "/patient_records/new" => 'patient_record#new'
edit_patient_record_path(:id) => /patient_records/:id/edit => 'patient_record#edit'
patient_record_path(:id) => "/patient_records/:id" => 'patient_record#show'

更新:错误使用路径助手

我再次查看了你的问题并发现了另一个错误:show的路径助手需要一个记录。正确使用是:

# path to show
patient_record_path(@patient_record, :limit => 10)

# path to index
patient_records_path(:limit => 10)