Rails:没有路由匹配错误 - 由于约束?

时间:2013-01-28 10:31:32

标签: ruby-on-rails routes ruby-on-rails-3.2 constraints

我收到了错误:

ActionController::RoutingError at /websites
No route matches {:controller=>"searches", :action=>"domain_results"}

尝试使用以下链接助手时:

<%= link_to website.domain, domain_results_path(website.domain) %>

我在搜索控制器中定义了domain_results并设置了以下路由:

get 'search/:domain/domain' => 'searches#domain_results', as: :domain_results, constraints: { domain: /.*/ }

rake routes:

domain_results GET    /search/:domain/domain(.:format)    searches#domain_results {:domain=>/.*/}

如果我使用以下内容,则可以使用:

<%= link_to website.domain, "/search/#{website.domain}/domain" %>

get 'search/:project/project' => 'searches#project_results', as: :project_results
<%= link_to website.domain, project_results_path(rental.project) %>

这是由于我正在使用的约束吗?我必须使用约束,因为我将“google.com.au”等字符串传递到路径中。

1 个答案:

答案 0 :(得分:0)

您需要执行以下操作:

domain_results_path(:domain => website.domain)