Tag: 设计

如何使用设计配置超时?

模型: devise :database_authenticatable, :registerable,:timeoutable, :recoverable, :rememberable, :trackable, :validatable,:timeout_in => 10.seconds development.rb: config.timeout_in = 10.seconds devise.rb: config.timeout_in = 10.seconds

设计会话控制器覆盖

我正在重写Devise会话控制器来调整用户登录行为。 在我的情况下,我有两种用户 – 主用户和子用户。 子用户只有在主用户为子用户设置登录访问权限时才能登录。 这是我的用户模型 class User “User”,:foreign_key => “parent_id”, :dependent => :destroy belongs_to :parent, :class_name => “User” end 这是我的会话控制器 class SessionsController ‘welcome’ else super end end end def destroy logger.info “#{ current_user.email } signed out” super end end 当我使用正确的凭证登录时使用当前代码 – 如果它是主要用户。 用户登录成功。 – 如果它是具有门户访问权限的子用户。 子用户登录成功。 – 如果它是没有门户访问权限的子用户。 用户重定向到欢迎页面说“没有门户访问”并要求用户登录。 我遇到的问题是:如果我尝试使用数据库中不存在的凭据登录,那么我会收到错误说“ Template is missing Missing […]

在设计中获取当前用户ID

如何使用设计获取控制器中的当前用户ID? 在我的控制器中我有这样的事情: def index me = current_user c = User.find(me) @sheets = c.time_sheets end 我收到一条错误,说“无法找到没有ID的用户”。 如果我在User.find()中输入一个静态数字它可以工作,但当然这不是我想要的。 任何帮助将不胜感激。 谢谢!

Rspec控制器错误需要但是使用进行渲染

新的测试,我很难让一些控制器测试通过。 以下控制器测试将引发错误: expecting but rendering with 我在我的一个控制器规格中有以下内容: require ‘spec_helper’ describe NasController do render_views login_user describe “GET #nas” do it “populates an array of devices” do @location = FactoryGirl.create(:location) @location.users << @current_user @nas = FactoryGirl.create(:nas, location_id: @location.id ) get :index assigns(:nas).should eq([@nas]) end it "renders the :index view" do response.should render_template(:index) end end 在我的控制器宏中,我有这个: def login_user […]

使用rspec测试设计视图

我已经生成了运行rails g devise:views Devise的视图,现在想测试它们。 这就是我想出的: require ‘spec_helper’ describe “devise/sessions/new” do before do render end it “renders the form to log in” do rendered.should have_selector(“form”, action: user_session_path, method: :post) do |form| end end end 对于render语句,它给了我undefined local variable or method ‘resource’ 。 谷歌搜索后我发现我应该添加 @user.should_receive(:resource).and_return(User.new) 在render语句之前 – 但它仍然给我相同的错误,我不确定如何使用它。 我究竟做错了什么? 谢谢你的帮助。

设计有’回调’吗?

用户登录后,我想手动记录此事件并在数据库中增加一个计数器列。 在Devise有类似after_login东西吗? 就像ActiveRecord的before_save ?

Rails 3 +设计 – 如何设计回应JSON

我的环境是带有Devise 1.1的Rails 3.0.1。 我正在开发一个移动Web应用程序,主要使用javascript,并且希望保留尽可能多的基于JSON的通信。 有没有办法让设计用JSON响应成功/失败消息,而不是必须遵循302重定向并解析HTML? 看着用这个 。 ……但是没有它工作。

过滤能够使用Devise登录的用户

我有一个使用Devise进行身份validation的Rails应用程序。 用户属于经销商,我希望阻止属于残障经销商的用户能够登录。 是否有一种直接的方式来扩展Devise的身份validation查找器,以便它不包括已删除的经销商的用户? 也许在User上使用命名范围? 干杯 特里斯坦

运行规范时设计2.0’layout_by_resource’弃用警告

我正在使用Rails 3.2.0和Devise 2.0.0.rc2。 当我运行我的规范时,我收到一个弃用警告,当我正常启动Rails服务器时,我没有看到。 $ rake .DEPRECATION WARNING: Layout found at “devise” for DeviseController but parent controller set layout to :layout_by_resource. Please explicitly set your layout to “devise” or set it to nil to force a dynamic lookup. (called from realtime at /Users/foo/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/benchmark.rb:310) 我的/app/controllers/application_controller.rb看起来像: class ApplicationController < ActionController::Base protect_from_forgery layout :layout_by_resource protected def layout_by_resource if […]

设计Flash消息不会显示

Devise在我的应用程序中运行得很好,除了来自devise.en.yml的flash消息没有显示在视图中。 我究竟做错了什么? 以下是我的注册页面视图我已经尝试了两个:alert和:notice但不工作。 先感谢您 Sign up resource_name,:url => registration_path(resource_name)) do |f| %> “devise/shared/links” %>