我将用户转发到下一个网址:
http://bookworm.az:3000/messages/alizade
在我做的路线中:
get '/messages' => 'messages#index'
get '/messages/:username' => 'messages#index'
但它要求我展示行动。但我想要显示相同的/messages
页面。
例如,这里有效并且没有问我关于show动作的事情:
get ':username/manage' => 'profiles#index'
如何在没有显示操作的情况下返回同一页面?
答案 0 :(得分:1)
问题是订单优先。
你已经拥有了这种模式的路线。类似于:资源:消息。
要工作,请移动以下行:
get: '/messages/:username' => 'messages#index'
到routes.rb文件的顶部。
从Rails指南中注意:
“Rails路由按照指定的顺序进行匹配,所以如果你 有一个资源:上面的照片得到'照片/民意调查'的节目动作 资源行的路由将在获取行之前匹配。至 解决这个问题,将get行移到资源行上方,这样就可以了 首先匹配。“