即使我在routes.rb文件中指定了不同的属性,我的路由也会重定向到同一个控制器。
这些是我的路线。
match ':clube_id' => 'clubes#show', :as => 'clean_cluble', via: [:get]
match ':project_id' => 'projects#show', :as => 'clean_project',via: [:get]
这些是我正在使用的链接。
=link_to 'Project', :controller => "projects", :action => "show", :project_id=>'xxxxx'
=link_to 'Clube', :controller => "clubes", :action => "show", :id=>'cccc'
项目链接运作良好,但是对于clubes的linl重定向到项目控制器。这就是问题。
我认为的网址是:
http://host_name/project_name
http://host_name/clube_name
答案 0 :(得分:2)
您没有指定不同的属性,两个路由看起来与Rails完全相同。 <big-ul iterateover='x'>
<little-li value='uses x somehow'></little-li>
</bg-ul>
方法期望match
或':clube_id'
中的任何字符串(或ID),例如:
':project_id'
Rails如何识别与之相关的模型?它可以是 host_name/soho_project or host_name/1
或Project
。我建议将 anchor 之类的内容添加到Club
方法。
match
和帮手:
match 'club/:clube_id' => 'clubes#show', :as => 'clean_cluble', via: [:get]
match 'project/:project_id' => 'projects#show', :as => 'clean_project',via: [:get]
从Rails guides了解更多有关路线的信息。