Tag: 设计

Capybara,RSpec和Devise:通过绕过慢速登录和直接设置会话,可以更快地进行集成测试吗?

对于几乎所有集成测试,用户必须登录到Devise。 这需要花费很多时间,所以我想知道是否有办法设置用户会话而无需访问登录页面,输入详细信息,然后按登录按钮。 也许在Devise中内置了一个辅助方法,可以立即签署一个给定的用户? 非常感谢您的帮助。

使用设计设置多个提供者:omniauthable

我刚刚得到“Devise 1.2支持与OmniAuth教程的集成” ,但是我想设置多个提供者来引用同一个用户。 我正在寻找一些好的示例代码来查看。 我也不确定“多个提供者”是否可能使用默认的“设计:omniauthable”实现,我想达到“一个用户多个提供者”的效果,如Ryan Bates 235-omniauth-part-1,236所述-omniauth-part-2但是我想问一下,如果你已经知道一些例子,是否可以采用更清晰的方式,更少被黑客攻击的混合模型。 在此先感谢luca

使用Devise的可确认模块进行测试(RSpec)

我的理解是Rails的测试环境在每次测试之前被拆除并重建……所以我如何测试一个控制器,该控制器要求用户登录并且如果没有Device的可确认模块阻碍,则无法创建用户? Devise 推荐的方法 (下面)创建一个新用户,然后由Devise的可confirmable模块发送一封电子邮件。 我如何解决这个问题,所以我不是每次都“创造”一个用户…或者如果我是,我可以得到一个对象来测试w / out“模拟”每个规范的新电子邮件? before(:each) do @user = Factory.create(:user) sign_in @user end 我敢肯定我会忽略一些非常明显的东西,因为对于任何使用Devise并且可以确认的人来说这一定是一个非常常见的规范。

Rails / Devise – 通过json请求创建新用户

我想通过JSON进行新的用户注册,但是我收到了无效的真实性令牌错误。 我想不要为所有控制器打开伪造检查。 有关如何覆盖registrationController执行此操作的任何建议? 这是我的代码: class Api::MobileRegistrationsController < Devise::RegistrationsController skip_before_filter :verify_authenticity_token respond_to :json def create super end end 路线: Whitney::Application.routes.draw do resources :apps devise_for :users namespace :api do resources :tokens, :only => [:create, :destroy] resources :MobileRegistrations, :only => [:create] end 我收到一个错误: Routing Error uninitialized constant Api::MobileRegistrationsController

未捕获的投掷:设计测试中的监狱长

我刚刚开始测试Devise。 我无法理解为什么我会收到此错误:: Failure/Error: subject.current_user.should_not be_nil ArgumentError: uncaught throw :warden 这是我的规范中的代码:: require “spec_helper” describe Devise::PasswordsController do include Devise::TestHelpers before(:each) do user = Factory(:user) @request.env[“devise.mapping”] = Devise.mappings[:user] sign_in user end it “should have a current user” do subject.current_user.should_not be_nil end end 有没有人解决这个问题? 我知道github上存在问题,但在他们的情况下include Devise::TestHelpers不存在与我的情况不同。 我在这一行收到错误:: subject.current_user.should_not be_nil

在上一个会话中运行rake db:migrate之后,Rails服务器在启动后退出

在上一个会话中运行rake db:migrate之后,我遇到启动rails服务器的问题。 我已经安装了设计并在我的应用程序中设置了一个新的数据库,这似乎运行正常,但我重启我的应用程序后无法启动新的服务器。 有什么想法吗? Taylors-MacBook-Pro:pinteresting taylorburton$ rails s => Booting WEBrick => Rails 4.2.0 application starting in development on http://localhost:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server Exiting /Users/taylorburton/.rvm/gems/ruby-2.0.0-p598/gems/devise-3.3.0/lib/devise/rails/routes.rb:457:in `ensure in with_devise_exclusive_scope’: undefined method `merge!’ for # (NoMethodError) from /Users/taylorburton/.rvm/gems/ruby-2.0.0-p598/gems/devise-3.3.0/lib/devise/rails/routes.rb:457:in `with_devise_exclusive_scope’ from /Users/taylorburton/.rvm/gems/ruby-2.0.0-p598/gems/devise-3.3.0/lib/devise/rails/routes.rb:248:in `block (2 levels) in devise_for’ […]

Rails使用Twitter Bootstrap设计I18n Flash消息

你好我是ruby on rails的新手,我很难理解I18n的flash消息。 我正在使用devise,rails 4和twitter bootstrap。我明白设计只使用flash[:notice]和flash[:alert] 。 我可以通过登录和注销来获取适用于我的用户模型的Flash消息。 但是,我无法获得注册的Flash错误或忘记密码才能正常显示。 它看起来像是默认的错误消息。 我看了很多与此相关的问题,我很困惑的方法是用漂亮的CSS显示所有flash消息(错误,成功,通知)。 也许答案已经在我的鼻子下的这篇文章中? rails – 设计 – 处理 – devise_error_messages 目前我的flash消息基于如何使用Twitter Bootstrap Rails gem定义Flash通知 这是我的例子: 在‘app / views / layouts / application.html.erb’中 ‘应用程序/视图/布局/ _messages.html.erb’ <div class="alert alert-“> × “flash_#{name}” %> 如何使用自定义css显示所有Flash消息(错误,成功,通知)? 更新:这篇文章显示了我正在尝试做的正确版本。 我遇到的问题是样式看起来不一样。 我相信这是因为html标签。 html = <<-HTML x #{sentence} #{messages} HTML 知道如何为警报设置相同的样式吗? 或者在CSS中使用什么标签? 您可以看到注册^^和登录(下方)页面之间的区别。 UPDATE2 我发了一篇关于我的问题的新post […]

使用Devise with Rails 3.添加多个角色?

我们在Rails 3应用程序中使用devise gem进行身份validation。 我们有多个角色,从设计的角度来看,角色在确认,激活和记住我的function方面会有所不同。 设计文档包含两个范围的示例。 一个是用户本身,另一个是管理员角色。 我可以这样吗? 我会创建一个用户模型。 然后我会创建3个角色: 基于role1 基于role2 管理员 设计支持吗? 有人试过这个吗?

如何在覆盖设计注册控制器时编写控制器测试?

我希望覆盖Devise::RegistrationsController来实现一些自定义function。 为此,我创建了一个新的RegistrationsController如下所示: # /app/controllers/registrations_controller.rb class RegistrationsController < Devise::RegistrationsController def new super end end 并设置我的路线,如下所示: devise_for :users, :controllers => { :registrations => “registrations” } 并试图像这样测试它: describe RegistrationsController do describe “GET ‘new'” do it “should be successful” do get :new response.should be_success end end end 但这给了我一个错误: 1) RegistrationsController GET ‘new’ should be successful Failure/Error: get :new AbstractController::ActionNotFound: […]

Rails 3:使用Devise发送欢迎电子邮件

当用户注册我的服务时,如何发送欢迎电子邮件? 另外,如何更改电子邮件:来自Devise的from和:subject字段? 谢谢