Tag: devise

Rails设计 – current_user是零

出于某种原因, current_user在我的nil模型控制器( Subscriptions )中返回nil 。 我没有在互联网上找到任何certificate这种行为的理由…… class SubscriptionsController < ApplicationController def new … end def create current_user # returns nil end end 我有一个csrf元标记: 我可以提供更多代码,但我不确定什么是有用的。 UPDATE 所以感谢评论/答案,我已经将问题指向了一个特定的行动: create 。 如果我将@user = current_user添加到new ,我可以在我的new视图中显示当前用户的电子邮件。 但是,在我的create controller中, current_user返回nil 。 我通过表单(提交)访问了create操作。 在提交表单之前,我validation输入,然后向Stripe发送请求以从表单中获取令牌。 如果没有错误(validation和条带),我然后发送表单。 这可能是原因吗? 更新2 在我的错误消息中,我的会话转储是空的 ,而它应该包含current_user信息…

PhoneGap Mobile Rails身份validation(从头开始设计?身份validation?)

我有一个带有Rails后端的PhoneGap应用程序。 我试图弄清楚使用json从移动应用程序validation用户的最佳方法是什么。 我目前正在使用设计, 但我不必使用它 。 在Phonegap中使用移动应用程序修改设计的最简单方法是什么? 我知道这里有很多post……但是,其中一些已经过时或者看起来非常复杂。 希望可能有更多来自一些经过试验和测试的项目或教程的最新信息。 我发现的一个post也建议使用jsonp,但它看起来也是一个相当复杂的黑客。 你可以在这里找到它: http : //vimeo.com/18763953 我也想知道如果从头开始进行身份validation我是否会更好,如本Railscast中所述: http: //railscasts.com/episodes/250-authentication-from-scratch 谢谢!

设计skip_confirmation! 不工作

我的应用程序已设置好,如果用户使用Oauth或Openid登录,则无需确认其电子邮件地址。 但是,Devise仍在发送电子邮件确认。 当我调用User.skip_confirmation时! 我得到一个未定义的方法错误。 我的模特: class User false def self.find_for_facebook_oauth(access_token, signed_in_resource=nil) data = access_token.extra.raw_info if user = User.where(:email => data.email).first user else #User.skip_confirmation! User.create!(:username => data.name, :email => data.email, :password => Devise.friendly_token[0,20]) end end def skip_confirmation! self.confirmed_at = Time.now end end 我的控制器: class Users::OmniauthCallbacksController { :success => “Welcome #{@fname}!” } else session[“devise.facebook_data”] = request.env[“omniauth.auth”] redirect_to […]

如何设置电子邮件的设计发件人名称?

虽然这个post没多说,但我想你在Devise intializer中设置发件人名称,如下所示: app/config/initializers/devise.rb Devise.setup do |config| config.mailer_sender = “‘MySite’ ” end 但这对我不起作用。 有谁知道这样做的正确方法?

将设计sign_in表单设置为Twitter Bootstrap Modal

好的,所以我想使用twitter bootstrap模式来显示设计登录表单。 我在这里基于wiki文章的代码: https : //github.com/plataformatec/devise/wiki/How-To : -Display-a- custom-sign_in-form-anywhere-in-your- app 我的应用程序布局文件中有以下标记 × Sign In resource_name, :url => session_path(resource_name), :html => {:class => ‘form-horizontal’}) do |f| %> false, :autofocus => true %> false %> :boolean if devise_mapping.rememberable? %> ‘btn btn-primary’, :data => { :dismiss => “modal”} %> 并且,根据Wiki中的建议,将以下内容添加到应用程序帮助程序文件中 def resource_name :user end def resource @resource ||= […]

bcrypt错误:设计ruby 2.0和rails 4.0

当我尝试运行我的应用程序时,我一直收到此错误: C:/ruby-2.0.0-p195-i386-mingw32/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.rc1 /lib/active_support/dependencies.rb:228:in`requirement’:无法加载此类文件 – 2 .0 / bcrypt_ext(LoadError) 任何接受者? – 我试图使用设计gem进行基本的用户身份validation..

如何在密码更改时覆盖设计错误消息

如何自定义错误消息被覆盖的divise密码控制器? class PasswordsController home_path else binding.pry flash[:devise_password_error] = (resource.errors.map do |key, value| value.capitalize end).flatten.join(‘|’) redirect_to home_path and return end end def edit self.resource = resource_class.new resource.reset_password_token = params[:reset_password_token] end end resource.errors在此方法中可用,但它包含默认消息,例如Email not found Email can’t be blank并且Email can’t be blank 。 我需要自定义此消息。 我试图删除:validatable从我的用户模型中:validatable并添加自定义validation器,但这仅适用于从Devise :: RegistrationsController派生的自定义注册控制器,而不适用于自定义密码控制器。 有什么解决方案吗?

在我的应用程序上使用Devise注销问题

我正在更新我的应用程序,所以我使用Devise gem进行身份validation。 一切似乎都很有效,除了我似乎无法退出的事实。 我收到错误: Couldn’t find User with ID=sign_out Parameters: {“id”=>”sign_out”} 我可以将错误追溯到我的用户控制器中的show动作: def show @user = User.find(params[:id]) end 问题是我不确定为什么它试图为我的用户呈现show动作。 总的来说我的页面有这样的格式 根据设计说明,我的注销路径如下所示: 如果用户未登录,则应呈现基本上是静态html的启动页面。 有关如何帮助的任何建议? 即使你可以把我放在正确的球场上就问题而言会非常感激。 Here is my routes file: devise_for :users resources :users do member do get :following, :followers, :following_tags, :following_posts end end resources :posts resources :votes resources :comments resources :tags resources :events #resources :posts, […]

使用用户或管理模型和Basecamp样式子域设计登录

我有Devise用户和管理员的单独模型。 我也在使用Basecamp风格的子域名。 一切都运行良好,除了一些控制器和操作,我需要能够以用户或管理员身份进行身份validation。 目前我有authenticate_user! 在我的application_controller.rb中设置,我正在使用skip_before_filter跳过那些只有管理员应该有权访问的控制器和操作。 不幸的是,我不能简单地在每个控制器上指定身份validation要求,因为我仍然需要一些控制器和操作才能被用户或管理员访问。 我尝试了一些无济于事的事情。 看来如果我移动authenticate_user! 和authenticate_admin! 在某种子域检测逻辑中,它无法处理。 基本上: current_subdomain = request.subdomains.first if current_subdomain == ‘admin’ authenticate_admin! else authenticate_user! end 我曾经一度能够让它尝试身份validation,但由于某种原因,除了会话控制器需要身份validation导致重定向循环(我的第一个使用Ruby!)之外,它没有成功。 我意识到我可以向我的用户添加一个表示管理员状态的字段,但除了一些控制器和操作之外,应用程序需要在用户和管理员之间实现更大的权限分离。 Ruby 1.9.2 Rails 3.0.3 设计1.1.3

validation失败时设计自定义消息

我在我的应用程序中使用devise作为身份validation引擎。 当设计validation失败时,有没有办法使用自定义消息。 当密码为空时,Devise为我提供以下消息: Password can’t be blank ,但我需要另一条消息。 我该怎么做?