繁体   English   中英

我的Rails应用程序中的设计问题

[英]Devise issue in my Rails application

此方法在我的应用程序中不起作用,并且没有给出任何错误,我正在使用devise并观看了Devise剧集RailsCast,我在观看时写了此内容,但没有任何反应,该怎么办? 我已经搜索过,但是找不到所需的步骤?

<% if user_signed_in? %><%= current_user.email %><% end %>

我正在使用RubyMine, user_signed_incurrent_user标记为“找不到”。

Rails Console --sandbox

Loading development environment in sandbox (Rails 3.2.12)
Any modifications you make will be rolled back on exit
irb(main):001:0> user_signed_in?
NoMethodError: undefined method `user_signed_in?' for main:Object
    from (irb):1
    from /var/lib/gems/1.9.1/gems/railties-3.2.12/lib/rails/commands/console.rb:47:in `start'
    from /var/lib/gems/1.9.1/gems/railties-3.2.12/lib/rails/commands/console.rb:8:in `start'
    from /var/lib/gems/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:41:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

尝试这个

在您的控制器中写

before_filter :authenticate_user!

在railscasts的root path默认root to: 'articles#index'

表示如果您执行与本次转换相同的操作,它将访问articles controller ,应将filter添加到articles_controller或您自己的控制器(如果命名不同):

before_filter :authenticate_user!

在控制器的顶部

https://github.com/railscasts/209-devise-revised/blob/master/blog-after/app/controllers/articles_controller.rb

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM