Tag: devise

如何从用户控制器中删除设备用户

有没有办法从用户控制器中销毁用户? 我确实在routes.rb定义了users resource ,并且还有Users Controller方法 def destroy @user.destroy head :no_content end 然而,这会产生以下错误: undefined method `handle_dependency’ for # 我正在尝试找出此错误代表的内容以及适当的修复方法。 可能是什么原因? 用户模型 class User :before_add_method # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable, :omniauthable has_many :venues, dependent: :destroy has_many :from_user_chats, :foreign_key => ‘from_user_id’, […]

如何使用devise和Rails 4设置用户身份validation?

我正在尝试通过设计工作获得用户身份validation,并且失败。 我尝试按照RailsGirls文章中的步骤进行操作 ,但是在创建了简单的新项目之后,添加了gem’devise gem ‘devise’并运行了bundle install ,但是当我运行rails generate devise:install我得到了一大堆错误 Error:Get available generators script executes with errors: Error:C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-4.1.1/lib/active_record/dynamic_matchers.rb:26:in `method_missing’: undefined method `devise’ for User (call ‘User.connection’ to establish a connection):Class (NoMethodError) 有谁知道我可能做错了什么? (我尝试使用设计维基中的说明,但我也无法以这种方式工作)。

允许在DeviseTokenAuth中传递数组强参数

我遇到了强大的params问题,在Devise Token Auth gem LINK中传递了一个数组 # ERROR Unpermitted parameters: options 配置允许的参数 def configure_permitted_parameters devise_parameter_sanitizer.for(:sign_up) << [:username, options: []] end # also added in User.rb file attr_accessor :options 我尝试了很多选项,但它不允许我传递数组中的数据。 有什么解决方案吗? 谢谢!

ActionMailer响应“501 5.5.4无效参数”

我正在使用Ruby 2.0.0上的Rails 4开发应用程序。 应用程序在Devise中注册后发送电子邮件。 这是发送电子邮件的代码: 应用程序/模型/ sponsor.rb: after_create :send_email_to_admin private def send_email_to_admin AdminMailer.new_sponsor_email(self).deliver end 应用程序/邮寄者/ admin_mailer.rb class AdminMailer < ActionMailer::Base default to: '**removed**' def new_sponsor_email(sponsor) @sponsor = sponsor p @sponsor mail(subject: "New Sponsor Registration") end end 这是从日志文件生成的电子邮件: Sent mail to **removed** (725.5ms) Date: Mon, 02 Sep 2013 15:01:03 -0400 From: **removed** To: **removed** Message-ID: Subject: […]

Rails 4 – 未定义的方法’authenticate’为nil:NilClass

我正在开发一个使用Rails 4和Devise构建社交网络的课程。 我试图让课程通过,这是我得到的错误: 1) Error: UserFriendshipsControllerTest#test_: #new when not logged in should get redirected to the login page. : NoMethodError: undefined method `authenticate!’ for nil:NilClass test/controllers/user_friendships_controller_test.rb:8:in `block (3 levels) in ‘ 这是我的users_friendships_controller_test.rb: require ‘test_helper’ class UserFriendshipsControllerTest < ActionController::TestCase context "#new" do context "when not logged in" do should "get redirected to the login page" do […]

设计 – 在开发中删除用户确认

如何在开发中跳过用户确认。 我已经设置了生产环境以使用SendGrid发送电子邮件,但现在我已经完成了它不会让我登录。 谢谢你的时间!

Rails,Devise – 管理员试图编辑另一个用户配置文件,而不是加载自己的配置文件

在使用Rails进行开发时相当新,我正试图解决以下问题:我正在使用Devise + Cancan + olify应用程序来尝试创建身份validation和用户管理。 我已经对一般用户行为进行了排序,并且我正在努力实现管理员用户能够编辑另一个用户配置文件。 目前,管理员用户可以列出用户并尝试编辑其他用户的个人资料。 但是,当进入编辑页面时,尽管URL /路由对我来说是正确的,我仍然会在表单中看到“currentuser”/ admin信息。 简而言之,场景:UserId1是管理员UserId1正在尝试编辑UserId2的配置文件 记录为UserId1,以下路由为UserId1而不是UserId2带来详细信息: http://localhost:3000/d/users/edit.2 这是routes.rb: devise_for :users, :path_prefix => ‘d’, :controllers => { :registrations => ‘registrations’ } namespace :admin do get ”, to: ‘dashboard#index’, as: ‘/’ resources :users end 这是用户#index视图: { :confirm => “Are you sure?” }, :method => :delete %> 这是users_controller.rb: class Admin::UsersController < ApplicationController […]

在私有控制器方法中返回redirect_to

前言:我正在使用设计进行身份validation。 我试图阻止未经授权的用户查看,编辑或更新其他用户的信息。 我最关心的是用户将DOM中的表单修改为另一个用户的ID,填写表单,然后单击更新。 我已经专门阅读了下面的内容应该有效,但事实并非如此。 关于SO的post建议将validate_current_user方法移动到公共领域,但这也不起作用。 有什么明显的东西我做错了吗? 或者是否有更好的方法来处理我正在尝试做的事情,无论是使用设计还是其他什么? 我的UsersController看起来像这样: class UsersController [:new, :create, :destroy] before_filter :redirect_guests def index redirect_to current_user unless current_user.try(:admin?) if params[:approved] == “false” @users = User.find_all_by_approved(false) else @users = User.all end end def show @user = User.find(params[:id]) validate_current_user @user end def new @user = User.new end def edit @user = User.find(params[:id]) validate_current_user @user […]

Ruby on Rails 3:Devise :: LdapAdapter.get_ldap_param undefined方法错误

我正在运行:Ruby 1.9.3p0,Rails 3.1.1,Devise 1.4.9,Devise_ldap_authenticatable 0.4.10 我正在使用Devise通过ldap服务器validation我的Rails应用程序。 我使用用户名而不是电子邮件进行身份validation,因此我表中的电子邮件字段自然是空白的。 要查询ldap的电子邮件,官方方法是在用户模型中添加此代码: before_save :get_ldap_email def get_ldap_email self.email = Devise::LdapAdapter.get_ldap_param(self.username,”mail”) end 这段代码失败了,没有尝试对ldap做任何事情,用这个: undefined method `mail’ for nil:NilClass 它指的是方法定义中的行。 日志输出不再有用: Started POST “/users/sign_in” for 10.50.1.96 at 2011-11-15 11:18:16 -0800 Processing by Devise::SessionsController#create as HTML Parameters: {“utf8″=>”✓”, “authenticity_token”=>”=”, “user”=>{“username”=>””, “password”=>”[FILTERED]”, “remember_me”=>”0”}, “commit”=>”Sign in”} User Load (0.9ms) SELECT “users”.* FROM “users” WHERE “users”.”username” […]

Ldap没与Devise合作

我正在尝试使用Devise和Ldap然而我似乎在使用ldap设计的初始设置中做错了我已经在使用db auth设计但是,我想切换并使用我现有的AD。 任何帮助将不胜感激! 我有这个只使用LDAP的测试脚本,它运行得很好 require ‘net/ldap’ class ActiveDirectoryUser SERVER = ‘myactivedir.mydomain.com’ PORT = 389 BASE = ‘DC=mydomain,DC=com’ DOMAIN = ‘mydomain.com’ def self.authenticate(login, pass) return false if login.empty? or pass.empty? conn = Net::LDAP.new :host => SERVER, :port => PORT, :base => BASE, :auth => { :username => “#{login}@#{DOMAIN}”, :password => pass, :method => :simple } if […]