Tag: devise

NoMethodError at / undefined方法`name’代表nil:NilClass

我已经尝试了很多解决方案,并提出了一个好的但仍然出错。 我正在编辑我的整个问题。 我正在尝试使用friendly_id gem创建友好URL。 在我的项目中,第一个用户需要使用设计注册。 设计会将一些信息传递给配置文件模型 模型/ user.rb delegate :age, :city, :region, :country, to: :profile 我想让user.name成为Friendly_id候选者。 我在我的个人资料模型中尝试过以下代码: – class Profile < ActiveRecord::Base extend FriendlyId friendly_id :user_name , use: :slugged def user_name user.name end 但它给出了错误 NoMethodError at / undefined方法`name’代表nil:NilClass 现在提交用户表单后。 请提供可能的解决方案和解释。 我的User.rb看起来像 require ‘open-uri’ class User (name) do joins(:profile).where(‘lower(name) LIKE ?’, “%#{name.downcase}%”) end delegate :age, :city, […]

如何为控制器方法运行minitest?

post_controller文件 class PostsController < ActionController::Base before_action :authenticate_user! def index @post = current_user.posts.paginate(page: params[:page], per_page: 5) respond_to do |format| format.html format.json { render json: @post } end end def new @post = Post.new end def create @post = current_user.posts.build(post_param) if @post.save redirect_to action: 'index' else render 'new' end post_controller_test require ‘test_helper’ class PostsControllerTest < ActionController::TestCase include […]

使用Rails中的Devise创建虚拟属性4

我的用户模型没有:name字段,但我想在我的注册表单中包含:name字段,该字段将用于在after_create创建另一个模型的after_create 。 class User < ActiveRecord::Base after_create :create_thing private def create_thing @thing = Thing.new @thing.name = @thing.save! end end 如何从注册表单中获取名称?

取消删除acts_as_paranoid在设计登录时删除用户

我有一个Rails 3.1.3应用程序,它使用devise进行用户身份validation,并使用acts_as_paranoid对其进行软删除。 我希望在密码重新创建,用户注册和用户登录时取消删除帐户,因此如果他们提供已删除的电子邮件,我会抓取该帐户,重新启用该帐户,然后继续操作(密码重新创建或登录) )。 但是在Users::SessionsController#create #create操作中,取消删除用户后会收到Unauthorized错误(但用户现在应该可见)。 代码是: def create # Take into account acts_as_paranoid deleted users resource = resource_class.only_deleted.find_by_email(params[resource_name][:email]) resource.undelete! if resource resource = warden.authenticate!(:scope => resource_name, :recall => “#{controller_path}#new”) set_flash_message(:notice, :signed_in) if is_navigational_format? sign_in(resource_name, resource) respond_with resource, :location => after_sign_in_path_for(resource) end 如果我在取消删除后添加一个resource.reload调用它不会改变任何东西。 如果我再次登录,用户通常会登录,因为它在之前的尝试中未被删除。 为什么会这样? 如何在一次create调用中取消删除并登录?

Rails 3设计了401个未经授权的ajax呼叫

我遇到了类似这个问题的问题: jQuery Ajax调用Rails 3获得401 Unauthorized Request 我已将token_authenticatable添加到我的设计模型中。 在我对ajax调用的操作中: def rate params[:kon][:IP] = request.remote_ip params[:kon][:tag_id] = params[:id] @konkurrencer = Tagrating.new(params[:kon]) @konkurrencer.save @konkurrencer.tag.rating_score += params[:kon][:ratings].to_i @konkurrencer.tag.ratings += 1 @konkurrencer.save render :nothing => true end 如何validationajax调用? 如何获取当前用户的令牌密钥。 我试过了:

注销不使用Heroku – 使用Devise gem和Rails 4

我刚刚使用Devise进行身份validation的Rails 4应用程序初始部署到Heroku。 注销在本地工作,但Heroku返回错误“您正在寻找的页面不存在”,并且它不会将用户注销。 根据Heroku日志和Google / SO搜索,看起来原因是Heroku使用的是GET请求而不是DELETE – 尽管我的应用代码指定了链接的:delete方法,而Devise使用DELETE进行签名默认。 有些文章建议Heroku使用GET,以便用户可以在没有启用JavaScript的情况下注销,但我的代码中包含JS include标记,并且在我的浏览器中启用了JS。 (我已经使用Chrome和Safari进行了检查。) 我找到了更改配置的说明,以便Devise使用:get而不是:delete,但我更愿意使用更安全:delete方法,如果可能的话。 感谢到目前为止的想法。 回答你的问题: 这是我的链接: 这是我在head标签中加载javascript的内容: true %> 控制台中未报告任何JS错误。

Devise Token Auth错误:未设置Devise.secret_key

我目前正在使用Devise Token Auth( https://github.com/lynndylanhurley/devise_token_auth )gem并使其在开发中运行良好。 但是,在我的生产环境中,当我运行rake db:migrate ,我收到以下错误: rake aborted! Devise.secret_key was not set. Please add the following to your Devise initializer: config.secret_key = ‘my secret key’ Please ensure you restarted your application after installing Devise or setting the key. /Users/karimbutt/.rvm/gems/ruby-2.1.2/gems/devise-3.4.1/lib/devise/rails/routes.rb:480:in `raise_no_secret_key’ /Users/karimbutt/.rvm/gems/ruby-2.1.2/gems/devise-3.4.1/lib/devise/rails/routes.rb:209:in `devise_for’ /Users/karimbutt/.rvm/gems/ruby-2.1.2/gems/devise_token_auth-0.1.31/lib/devise_token_auth/rails/routes.rb:25:in `mount_devise_token_auth_for’ /Users/karimbutt/Development/projects/haubby/backend/config/routes.rb:3:in `block in ‘ /Users/karimbutt/.rvm/gems/ruby-2.1.2/gems/actionpack-4.2.0/lib/action_dispatch/routing/route_set.rb:423:in `instance_exec’ /Users/karimbutt/.rvm/gems/ruby-2.1.2/gems/actionpack-4.2.0/lib/action_dispatch/routing/route_set.rb:423:in `eval_block’ /Users/karimbutt/.rvm/gems/ruby-2.1.2/gems/actionpack-4.2.0/lib/action_dispatch/routing/route_set.rb:401:in […]

Devise和Rails – Devise中的ArgumentError :: RegistrationsController #create

当新用户提交新的用户注册表单时,他们会收到以下错误消息。 我怀疑它是因为devise / registrations_controller.rb不存在。 我是否需要创建此文件夹结构和控制器,还是可以修改routes.rb以避免搜索不存在的控制器? 错误: ArgumentError in Devise::RegistrationsController#create wrong number of arguments (0 for 1) Rails.root: C:/Users/COMPAQ/Documents/NetBeansProjects/RailsBlog Parameters: {“utf8″=>”✓”, “authenticity_token”=>”xxxxxxxxxxxxxxxxxxxxxx/c=”, “user”=>{“email”=>”foo@bar.com”, “password”=>”[FILTERED]”, “password_confirmation”=>”[FILTERED]”}, “commit”=>”Sign up”} routes.rb中: RailsBlog::Application.routes.draw do devise_for :users User.rb(型号): class User < ActiveRecord::Base # Include default devise modules. Others available are: # :token_authenticatable, :confirmable, # :lockable, :timeoutable and :omniauthable devise :database_authenticatable, :registerable, […]

修改Devise重置密码错误文本

使用Devise GEM,当重置用户密码时,可以设置新密码。 如果输入的密码不匹配或密码太短,则会收到默认消息: •密码与确认不符 •密码太短(最少8个字符) 我如何/在哪里更改这些错误消息的文本?

在Ruby on Rails上为Devise设置不同的用户模型和注册路径

我对ruby很新,我几个月来一直在苦苦挣扎。 我广泛搜索并尝试了答案,但仍然没有运气。 (我尝试了使用Ruby On Rails的多个用户模型,并设计了单独的注册路由,但是一条常用的登录路由但没有工作) 我目前有一个user.rb模型,它连接到设计和工作正常。 1-在注册页面上,我希望有3个按钮,这些按钮将导致单独的注册表单(业务,经理和现有用户各一个)。 我是否在routes.rb中进行了设置? 2-表单将具有不同的属性,这些属性将填充其各自的数据库。 3-表格填写完毕后,他们将被引导至各自的路线。 用户到业务仪表板和经理到管理器仪表板时的当前默认路由。 这又是在routes.rb或devise中吗? 我非常感谢任何指导! 我已经阅读了关于设计,康康和rolify的文档,但我似乎无法将它们全部集中在一起为我工作。 我对ruby很新,我几个月来一直在苦苦挣扎。 我广泛搜索并尝试了答案,但仍然没有运气。 (我尝试了使用Ruby On Rails的多个用户模型,并设计了单独的注册路由,但是一条常用的登录路由但没有工作) 我目前有一个user.rb模型,它连接到设计和工作正常。 1-在注册页面上,我希望有3个按钮,这些按钮将导致单独的注册表单(业务,经理和现有用户各一个)。 我是否在routes.rb中进行了设置? 2-表单将具有不同的属性,这些属性将填充其各自的数据库。 3-表格填写完毕后,他们将被引导至各自的路线。 用户到业务仪表板和经理到管理器仪表板时的当前默认路由。 这又是在routes.rb或devise中吗? 我非常感谢任何指导! 我已经阅读了关于设计,康康和rolify的文档,但我似乎无法将它们全部集中在一起为我工作。 #user.rb class User TEMP_EMAIL_REGEX, on: :update def admin? has_role?(:admin) end def self.find_for_oauth(auth, signed_in_resource = nil) # Get the identity and user if they exist identity = Identity.find_for_oauth(auth) […]