动态页面上没有匹配的路由

时间:2015-05-27 04:24:05

标签: ruby-on-rails ruby-on-rails-4

我尝试根据Trial控制器中的trial_id创建动态页面。我有它显示正确的URL,但得到一个无路由匹配[GET]错误。我使用的是rails 4.2.0,这在之前的3.2版本上运行过,但我认为我错过了一些东西。

查看

<% @regions.each do |region, list| %>
  <%= region %>
    <% list.sort{ |a,b| a.site.site_name <=> b.site.site_name }.each do |list| %>
      <% paths = trials_show_path(trial_id: list.trial_id)
         path = paths.gsub("?trial_id=", "/")
      %>

<%= link_to list.site.site_name, path %>

<% end %>
<% end %>

显示控制器

@results = Trial.trial_id(params[:trial_id])

试用模式

scope :trial_id, -> (trial_id) { where(trial_id: trial_id) }

路线

  get 'trials', :to => 'trials#index'
  get 'trials/show'

1 个答案:

答案 0 :(得分:1)

routes.rb文件中使用此自定义路线。

get 'trials/index/:trail_id' => 'trials#index',:as=>'trails'

get 'trials/show'

然后在你的视图中使用'trails_path'。