草庐IT

Devise-bascamper

全部标签

ruby-on-rails - Rails 3 +Devise + RSpec : undefined method 'visit'

我遇到了一个奇怪的问题。我以前从未使用过Devisegem。所以,我尝试编写简单的RSpec测试:require'spec_helper'describe"Admins"dobefore(:each)do@email="test@test.ru"user=FactoryGirl.create(:user,:email=>@email)enddescribe"signin/out"dodescribe"success"doit"shouldsignauserinandout"dovisitnew_user_session_pathendendendend我收到这样的错误:1)Admins

ruby-on-rails - 使用 Devise ldap 身份验证时出现编码错误

我一直在网上搜索这个问题的答案,但我没有想法。我将Devise与Rails3结合使用以通过LDAP进行身份验证。我在Ruby1.9.2中使用Rails3。我使用mysql2作为数据库连接器。我可以让它与Rails控制台一起工作,所以我知道我的地址并且一切都是正确的。我们有一个事件目录,为了进行身份验证,我们必须在登录名前加上系统前缀。所以我的登录名是systems\crudbasher。这在控制台中有效,但是当我有一个包含登录名和密码的表单时,我收到此错误。Encoding::CompatibilityErrorinDevise::SessionsController#create不兼

ruby-on-rails - 我如何邀请用户(使用 devise_invitable)并在邀请过程中填充其他字段?

例如,当我转到users/invitations/new,唯一的字段是:email.我想邀请一位用户,除了提供他们的电子邮件外,还提供:名字姓氏角色公司(userbelongs_tocompany)我创建了Users::InvitationsController:classUsers::InvitationsController然后我将这些字段添加到users/invitations/new.邀请发送正常,但当我接受它并输入密码时,我的验证失败并显示Noroleisselected(验证的b/c)。如何在发送邀请之前设置这些字段,并在接受邀请后保留并保存这些字段?谢谢!

ruby-on-rails - Rails Devise 路由错误 - "No route matches"( Controller = >"devise/sessions")

编辑2:看起来对我来说一个快速的临时修复是在我的link_to_unless_current和current_page方法中的Controller名称前面添加一个正斜杠“/”。例如'/sites',:action=>action)?'active':''%>">'/sites',:action=>action})%>这里是关于我遇到的问题的更多信息,以防其他人遇到同样的事情。https://github.com/plataformatec/devise/issues/471=========================================================

ruby-on-rails - Google oauth via devise 和 omniauth/oauth 不断请求访问

我可以将devise与omniauth(oauthNOTopenid)和devise.rb配置一起使用,如下所示:config.omniauth:google,KEY,SECRET它正确地重定向到谷歌以请求许可(并返回)...但不幸的是它总是那样。它应该(我相信)知道我刚刚授权使用谷歌的权限并且应该在第一次后跳过重定向到谷歌。关于如何让它工作有什么建议吗?我所说的许可是:“网站blah.com请求访问您的Google帐户以获取下面列出的产品”。我不希望此页面总是重新出现。 最佳答案 您需要自己实现回调——默认情况下,Devise和O

ruby-on-rails - Rails Devise 发送密码重置邮件作为延迟作业

我想将Rails插件devise'reset_password_instructions设置为delayed_job..但我尝试了很多方法都失败了。我找到了一个函数password_controller#creat:self.resource=resource_class.send_reset_password_instructions(params[resource_name])我认为这句话用于发送电子邮件以重置密码。我想改变它:self.resource=Delayed::Job.enqueueApplicationController::MailingJob.new(:resou

ruby-on-rails - 无方法错误 : undefined method `email' for nil:NilClass : can't send email with devise/sendgrid(Rails 3. 2)

我正在尝试将actionmailer与sendgrid一起使用,并在Rails3.2上进行设计。我浏览了很多关于SO的问题,比如用sendmail替换smtp,创建一个config/email.yml我没有一个)和更多的想法,但没有任何效果。我一定是遗漏了什么。电子邮件似乎不会在开发或生产中发送。(sendgrid不报告任何已发送的电子邮件,并且我在“手动测试”中检查过我从未收到过电子邮件)。运行Heroku控制台,我刚刚设法获得以下信息:NoMethodError:undefinedmethod`email'fornil:NilClassonthenotifier.rbfile::m

ruby-on-rails - 如何将策略添加到 Devise

我正在尝试添加一个非常简单的策略来设计,但它似乎没有用。这是我尝试使用的代码#config/initializers/devise.rbDevise.setupdo|config|config.orm=:mongo_mapperconfig.wardendo|manager|manager.strategies.add(:auto_login_strategy)dodefvalid?params[:auto_login]enddefauthenticate!u=User.find(:first)u.nil??fail!("Nocreatedusers"):success!(u)ende

ruby-on-rails - 使用 Devise in Rails 注销特定用户

我有用于用户身份验证的设计。我想注销具有特定ID的用户。在我的Controller中defexit@user=User.find(5)sign_out(@user)#thislineheresignsoutthecurrent_userenddevise的注销命令,即使我传递了@user,它也会注销current_user。我如何从数据库中选择一个用户并使用设计命令将他注销? 最佳答案 我假设这是某个管理模块的一部分,您想在其中注销特定用户。然而,这并不容易解决。用户是否登录存储在session中。因此,要注销另一个用户,您必须有权

ruby-on-rails - Rails : After putting devise routes in namespace, 模型名称以命名空间为前缀。如何删除它?

我在我的RailsRESTFulAPI服务中使用devise进行身份验证。Devise使我能够使用[POST]http://domain/users和form_data创建一个新用户:[user]password=123[user]email=foo@bar.zoo[user]password_confirmation=123然后我将devise_for放在这样的命名空间中namespace:apidonamespace:v1dodevise_for:users,controllers:{:registrations=>'api/v1/registrations',:sessions=