Tag: 设计

如何在Devise’注册’页面中添加其他字段?

我对Rails非常陌生并且设计得如此…… 我已经安装了设备并且一切正常,但我想在我的注册页面添加更多字段。 例如,我有一个usertype下拉,我想添加(由Usertype模型填充 – 在测试中工作正常),并且还希望根据用户类型(CC信息等)收集不同的信息。 )有人能指出我的资源或东西。 我尝试重写注册控制器,但没有链接到设计视图或符合DRY原则给我(复制视图)。 提前感谢您的建议。

覆盖设计注册创建方法

我想在创建用户时专门设置一个字段。 我有 class RegistrationsController < Devise::RegistrationsController def create super @user.tag_list = params[:tags] end end 我有通过tags参数的复选框,我已经在服务器日志中validation了tags参数正在传递。 但是,当我在控制台中调用@ user.tag_list时,我只得到一个空白的响应[] 。 我觉得问题在于我操纵设计的创造方法。 我没有在任何地方明确设置@user,但我不确定如何使用Devise设置它。 有人在使用设计时知道如何设置特定字段吗?

在Rspec测试中使用Devise进行身份validation

我无法让我的Rspec测试在Devise试图在before_filter中validation用户的项目上正确运行。 我按照Devise Git wiki的例子: 如何:使用Rails 3(和rspec)进行控制器和视图测试 投机/ spec_helper.rb: # This file is copied to spec/ when you run ‘rails generate rspec:install’ ENV[“RAILS_ENV”] ||= ‘test’ require File.expand_path(“../../config/environment”, __FILE__) require ‘rspec/rails’ require ‘rspec/autorun’ Dir[Rails.root.join(“spec/support/**/*.rb”)].each {|f| require f} RSpec.configure do |config| config.include Devise::TestHelpers, :type => :controller config.extend ControllerMacros, :type => :controller config.fixture_path = “#{::Rails.root}/spec/fixtures” config.use_transactional_fixtures = true config.infer_base_class_for_anonymous_controllers […]

设计:不需要电子邮件

我不想要使用设备登录电子邮件。 我从config / initializers / devise.rb中删除了电子邮件: config.authentication_keys = [ :login ] 并将此添加到我的用户模型: def email_required? false end 但是,当我尝试保存用户时,我收到此错误: SQLite3::SQLException: users.email may not be NULL 我想改变迁移中的某些内容吗?

rail3 / rspec / devise:除非我添加一个dummy = subject.current_user.inspect,否则rspec控制器测试失败

我试图让RSpec为一个简单的脚手架应用程序工作,从rspec脚手架测试开始。 根据设计维基,我添加了各种设备配置条目,用户和管理员的工厂,我在规范控制器中做的第一件事是login_admin。 最奇怪的事情,虽然…我的所有规格都失败了除非我在it … do之后添加以下声明it … do line: dummy=subject.current_user.inspect (使用该行,如下所示,规范通过。没有该行,所有测试都失败,分配为nil而不是预期值。我只是发现当我放入一些puts语句来查看current_user是否是正确设置。) 所以它的行为就像虚拟语句以某种方式“强制”加载或刷新或识别current_user。 任何人都可以解释发生了什么,以及我应该做些什么不同,所以我不需要虚拟陈述? #specs/controllers/brokers_controller_spec.rb describe BrokersController do login_admin def valid_attributes {:name => “Bill”, :email => “rspec_broker@example.com”, :company => “Example Inc”, :community_id => 1} end def valid_session {} end describe “GET index” do it “assigns all brokers as @brokers” do dummy=subject.current_user.inspect # ALL SPECS FAIL WITHOUT THIS […]

Rails设计,如何解密密码?

在rails 3设计中,用户记录具有encrypted_pa​​ssword和password_salt。 如何在控制台中,我可以获取用户的密码? 如何解密?

设计Flash方法导轨

我正在使用Rails 4,Twitter Bootstrap 3.0和Devise 3.0。 我正在尝试为设计和我的网站的其余部分获得完全相同的flash消息。 到目前为止我有这个: 在“app / views / layouts / application.html.erb”中 : “app / views / layouts / _messages.html.erb” : <div class="alert alert-“> × 我创建了一个“app / helpers / devise_helper.rb”来覆盖默认的设计错误消息: module DeviseHelper def devise_error_messages! end end “app / helpers / application_helper.rb” : def devise_flash if controller.devise_controller? && resource.errors.any? flash.now[:error] = flash[:error].to_a.concat resource.errors.full_messages flash.now[:error].uniq! […]

如何从Rails中的Warden / Devise after_authentication回调访问会话

我正在尝试从Rails 3中的Warden的after_authenticate回调(在Devise下运行)访问当前会话。 在我的应用程序控制器的顶部,我想做的事情如下: Warden::Manager.after_authentication do |user,auth,opts| user.associate_with_ids(session[:pending_ids]) end 最终目标是在注册之前获取存储在会话中的记录ID列表,并在登录后将其与用户模型相关联。 任何帮助将非常感激。

登录或注册后如何让Devise重定向到存储位置?

我正在编写一个Rails应用程序中使用Devise,我想让用户在登录或注册后回到原来的位置。 例如,如果我有一个“评论”控制器受以下保护: before_filter :authenticate_user! 然后我希望点击“立即评论”的用户! 按钮(因此重定向到CommentsController中的新操作)登录,然后让Devise将它们重定向到CommentsController中的新操作(或者它们在哪里),而不是应用程序的通用根,或者通用的after_sign_in_path。 通过RDOC for Devise,我发现这个方法看起来好像Devise至少有能力独自完成这样的事情,但我无法找到方法。

如何建立典型的用户HABTM角色关系

我对此很新,我正在使用cancan + devise为我的用户身份validation。 但是,我不确定设置典型用户HABTM角色关系意味着什么,我也不了解HABTM关系是什么。 任何人都可以解释得很好或者指向一个好的教程或例子吗?