对于具有authlogic的RoR站点,未定义logout_path

时间:2010-07-07 23:20:25

标签: ruby-on-rails authlogic

logout_path库中为rails定义authlogic的位置?

更一般地说,这些路径中的任何一个都定义在哪里?我有点不知道rails是如何“知道”这些是因为我搜索了我的整个项目而没有看到任何匹配,包括供应商文件夹,这意味着他们要么打包成一个宝石(也许是{{1宝石?)或是惯例而不是配置。

我收到一个未定义的变量错误:

authlogic

这是来自ActionView::TemplateError (undefined local variable or method `logout_path' for #<ActionView::Base:0x7fcf9dd0a740>) on line #34 of app/views/layouts/application.html.erb: 31: <%= link_to "My Account", account_path %> | 32: <%= link_to "Edit Account", edit_user_path(:current) %> | 33: <%= link_to 'Delete Account', user_path(@user), :method => :delete %> | 34: <%= link_to "Logout", logout_path %> 35: <% end %> 的适当代码段:

environment.rb

2 个答案:

答案 0 :(得分:1)

在Authlogic上查看RailscastASCIIcast

他们定义路线:

map.login 'login', :controller => 'user_sessions', :action => 'new'  
map.logout 'logout', :controller => 'user_sessions', :action => 'destroy'  
map.resources :user_sessions  

答案 1 :(得分:0)

使用authlogic无法直接登录注销路径。 如果你想定义manully你可以在route.rb中使用“map.logout'logout',: controller =&gt;'user_sessions',:action =&gt;'destroy'”