ruby-on-rails-3 – link_to(:controller =>“something”)helper Devise无法正常工作

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-3 – link_to(:controller =>“something”)helper Devise无法正常工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所有!
也许有人知道为什么这样:
def index_link(object,content = t("#{object.to_s.pluralize}.index"))
  #link_to(content,{:controller=>object.to_s.pluralize},:scope=>"") if can?(:read,p(object)) #this doesn't work too
  link_to(content,:controller=>"trademarks")
  #link_to(content,trademarks_path) #this do work,but I need to set path from object
end

像这样的例外:

No route matches {:controller=>"devise/trademarks"}

堆:

actionpack (3.0.3) lib/action_dispatch/routing/route_set.rb:424:in `raise_routing_error'
actionpack (3.0.3) lib/action_dispatch/routing/route_set.rb:406:in `generate'
actionpack (3.0.3) lib/action_dispatch/routing/route_set.rb:453:in `generate'
actionpack (3.0.3) lib/action_dispatch/routing/route_set.rb:481:in `url_for'
actionpack (3.0.3) lib/action_dispatch/routing/url_for.rb:131:in `url_for'
actionpack (3.0.3) lib/action_view/helpers/url_helper.rb:99:in `url_for'
actionpack (3.0.3) lib/action_view/helpers/url_helper.rb:236:in `link_to'
app/helpers/application_helper.rb:53:in `index_link'
app/views/layouts/application.html.erb:20:in `_app_views_layouts_application_html_erb___741328535__615736668_0'
actionpack (3.0.3) lib/action_view/template.rb:135:in `send'
actionpack (3.0.3) lib/action_view/template.rb:135:in `render'

以及如何使它工作?

解决方法

您必须在路径中添加斜杠.
例如:
<li><%= link_to "Events",:controller => "/events",:action => "index" %></li>

资源:
https://github.com/plataformatec/devise/issues/471#issue/471/comment/395243

猜你在找的Ruby相关文章