如何重定向到具有类似路由的特定控制器/操作?

时间:2016-08-24 20:11:35

标签: ruby-on-rails ruby redirect hyperlink routes

即使我在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

1 个答案:

答案 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了解更多有关路线的信息。