我一直在关注这些railscastsuser_signed_in?始终返回false
http://railscasts.com/episodes/209-introducing-devise & & http://railscasts.com/episodes/233-engage-with-devise 进行用户身份验证,但每当我试试,看用户是否登录,响应始终为false。
我试了一堆东西来尝试修复这个问题。我尝试了不同版本的devise和devise_rpx_connectable。我试着改变配置文件中的设置。我试着运行'rails generate devise:install'一堆不同的宝石版本。
奇怪的是,当我围绕RPXNow.api_key更改某些虚假内容时,我没有收到错误,这是意外的行为。
这里是我的application.html.erb文件中的代码:
<% if user_signed_in? %>
Signed in as <%= current_user.email %>. Not you?
<%= link_to "Sign out", destroy_user_session_path %>
<% else %>
<%= link_to_rpx "Sign in", user_session_url %>
<% end %>
<%= javascript_include_rpx(root_url) %>
这里是我的用户模型user.rb文件中的代码
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :rpx_connectable
attr_accessible :email, :password, :password_confirmation
validates :email, :uniqueness => true
.....other stuff....
end
这里是我的Gemfile的一部分:
gem 'rails', '3.2.6'
gem 'devise','2.0.0'
gem 'devise_rpx_connectable'
,这得到devise_rpx_connectable宝石版本0.2.2
这是什么在我的初始化/ devise.rb文件:
Devise.setup do |config|
config.mailer_sender = "[email protected]"
config.apply_schema = false
require 'devise/orm/active_record'
config.case_insensitive_keys = [ :email ]
config.strip_whitespace_keys = [ :email ]
config.skip_session_storage = [:http_auth]
config.stretches = Rails.env.test? ? 1 : 10
config.reconfirmable = true
config.use_salt_as_remember_token = true
config.reset_password_within = 6.hours
config.sign_out_via = :delete
config.rpx_application_name = "appname"
RPXNow.api_key = "<any_key_we_want_apparently>"
end
这是我们的routes.rb文件:
AppName::Application.routes.draw do
root :to => "pages#home"
match 'users/:id' => "users#index"
devise_for :users
end
股的评论后--editted --- 我做轨道摹迁移add_rpx_to_users rpx_identifier:字符串
跑耙分贝:迁移在此:
class AddRpxToUsers < ActiveRecord::Migration
def change
add_column :users, :rpx_identifier, :string
end
end
如果有人有任何想法,请分享。我一直在努力解决这个问题。
非常感谢!
您是否记得将字段添加到rpx_identiifer ....的用户模型中,然后迁移? – ply
我做到了。任何其他的想法? –
我有相同的user_signed_in?总是返回错误的问题。请帮忙! http://stackoverflow.com/questions/20044080/devise-cant-display-sign-in-or-sign-out-in-rails-view –