Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 带designe的路由错误_Ruby On Rails_Devise_Routes - Fatal编程技术网

Ruby on rails 带designe的路由错误

Ruby on rails 带designe的路由错误,ruby-on-rails,devise,routes,Ruby On Rails,Devise,Routes,我的应用程序包含已标记的物品。它使用Desive进行用户身份验证 我在链接到“忘记密码?”设计链接时遇到以下路由错误: No routes matches {:controller => "devise/belongings", :action => "with_tag", :tag_id => 1} 发出此错误的链接为 <%= link_to "tagname", {:controller => :belongings, :action => :wi

我的应用程序包含已标记的物品。它使用Desive进行用户身份验证

我在链接到“忘记密码?”设计链接时遇到以下路由错误:

  No routes matches {:controller => "devise/belongings", :action => "with_tag", :tag_id => 1}
发出此错误的链接为

 <%= link_to "tagname", {:controller => :belongings, :action => :with_tag, :tag_id => t.id} %>

例如,路由正在设计范围内寻找它必须遵循的路由

一个简单的修复方法是按链接的名称编写代码:

   <%= link_to "tagname", {:controller => "/belongings", :action => :with_tag, :tag_id => t.id} %>
“/belovings”,:action=>:with_tag,:tag_id=>t.id}%>
这将强制控制器位于根目录下,而不添加Desive作用域

我觉得这个解决方案非常难看

你能推荐一个更好的吗?例如,route.rb上有更好的配置吗


太棒了

上述更正来自以下问题:
 devise_scope :user do
     get "sign_in", :to => "sessions#new"
     get "sign_out", :to => "devise/session#destroy"
     get "sign_up", :to => "devise/registration#new"
 end
   <%= link_to "tagname", {:controller => "/belongings", :action => :with_tag, :tag_id => t.id} %>