Tag: 设计

RSpec with devise – 仅记录第一个测试

我正在尝试为用户必须使用设备登录的页面编写rspecfunction测试。 RSpec.feature “User sees items” do before(:context) do .. login_as(@user, :scope => :user) end after(:each) do Warden.test_reset! end it “sees 3 items” do create_items 1, 2 visit root_path expect(page).to have_css(“#total”, text: “3”) end it “sees 7 items” do create_items 3, 4 visit root_path expect(page).to have_css(“#total”, text: “7”) end end 在我的rails_helper我include Warden::Test::Helpers 。 但只有我的第一次测试值3用户登录。第二次测试有设计错误You need to […]

User.find_for_oauth – 我在哪里可以找到它?

我正在学习Devise + omniauth。 在大多数示例中,我找到方法User.find_for_oauth 我在哪里可以找到这种方法的文档及其来龙去脉? 它是由Devise还是omniauthgem提供的? 这里和这里是我遇到它的一些例子。

Rails / Devise:valid_password? 方法返回nil

在我的应用程序中有两种用户(运动员和用户)。 Athlete模型扩展了User模型,常规用户模型为其他类型的用户分配了不同的角色。 出于某种原因,我的一些用户具有某种角色,即valid_password? 方法不起作用。 这适用于通过可invitable设计模块邀请的用户。 还有其他人碰到这个吗? 这导致我的应用无法在受邀用户无法登录的情况下正常工作

OmniauthCallbacksController中的LoadError#passthru(带有设计/条带连接)

尝试实现Stripe Connect,当我单击“连接到条带”按钮时出现以下错误。 无法找到OmniauthCallbacksController的动作’passthru’ 用户/ omniauth_callbacks_controller.rb class Users::OmniauthCallbacksController :authentication set_flash_message(:notice, :success, :kind => “Stripe”) if is_navigational_format? else session[“devise.stripe_connect_data”] = request.env[“omniauth.auth”] redirect_to new_user_registration_url end end end 车型/ user.rb devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :omniauthable, :omniauth_providers => [:stripe_connect] 的routes.rb devise_for :users, controllers: { registrations: ‘users/registrations’, :omniauth_callbacks => “users/omniauth_callbacks” } gemfile.rb gem ‘omniauth-stripe-connect’ 初始化/ stripe.rb Rails.configuration.stripe = […]

播种数据库时“密码不能为空”错误

我正在尝试使用我在这里找到的seed_dump gem抓取的数据来播种我的数据库。 无论如何,生成的种子文件看起来合法,但它似乎与用户模型validation相悖: ActiveRecord :: RecordInvalid:validation失败:密码不能为空 为了给出一个想法,种子看起来像这样: User.create!([ {email: “1234@localhost”, encrypted_password: “$2a$10$5eoHh6M2q4GjGkHClO.NqebWWhS94D8rNj5Ot6CB2qrbn7IrTfkSa”, reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 1, current_sign_in_at: “2014-12-31 22:27:09”, last_sign_in_at: “2014-12-31 22:27:09”, current_sign_in_ip: “127.0.0.1”, last_sign_in_ip: “127.0.0.1”, admin: false} ]) 此外,我正在使用devisegem进行用户管理。 在给定此filter的情况下是否有一种优雅的方式来播种用户数据

Phonegap App使用身份validation与Rails 3 App进行通信

我正在尝试使用Phonegap编写一个iOS应用程序来与我的Rails3应用程序进行通信。 我无法弄清楚如何处理身份validation。 我在我的Rails应用程序中使用Devise / Warden。 我可以通过ajax在我的iOS应用程序中成功登录,但后来的电话给我一个“未经授权”。 似乎会话cookie未在我的iOS应用中设置。 如何让我的iOS应用程序了解我的rails认证会话?

设计显示用户页面

如何创建允许用户查看其个人资料的页面。 有人在周围工作/看/知道这个问题的答案吗? 我将不胜感激。

rails db:migrate failed’ .users’不存在:显示来自`users`的完整字段

我做了大量的谷歌搜索并阅读了很多堆栈溢出页面,但无法解决这个问题。 如果任何人可以帮助解决这个问题,那将会很有帮助。 我的应用程序昨天工作正常,现在突然它开始出错“rake db:migrate” 我检查我的方案很好,我试过rake db:drop / db:create / db:migrate,我检查了Gem文件中的设计。 我的错误: 我的架构: 我的gem文件: 任何帮助都将非常有用。 谢谢。 文本错误: Senthil:zenkars senthilkumar $ rake db:migrate rake aborted! Mysql2 ::错误:表’zenkars_development.users’不存在:显示来自users全部字段 任务:TOP => db:migrate => environment (通过使用–trace运行任务来查看完整跟踪) Senthil:zenkars senthilkumar $ rake db:migrate –trace **调用db:migrate(first_time) **调用环境(first_time) **调用disable_rails_admin_initializer(first_time) **执行disable_rails_admin_initializer **执行环境 耙子流产了! Mysql2 ::错误:表’zenkars_development.users’不存在:显示来自users全部字段/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord- 3.2.8 / lib / active_record / connection_adapters / abstract_mysql_adapter.rb:245:在`query’中

未定义的局部变量或方法`sign_out_path’

我是rails应用程序的初学者。 我使用了devise gem来进行身份validation。 当我登录其显示错误时: 未定义的局部变量或方法`sign_out_path’ 我怎么解决这个问题?

会话值在重定向rails 4后重置

我正在使用设计3.5.1,rails 4.0.0和ruby 2.0.0-p0。 如果用户未登录并尝试打开需要身份validation的私有页面,请使用lvh.me:3000/users/1/edit ,然后设计将针对关键user_return_to在会话中添加users/1/edit 。 问题是当用户在身份validation失败后被重定向到登录页面时,会话中的user_return_to值会重置。 我的应用程序遍布此问题。 如果我在会话中存储值并从同一操作重定向到另一个路径,则会话值将消失。 注意:我已将rails应用程序从(rails 3.0.4,ruby 1.8.7)升级到(rails 4.0.0,ruby 2.0.0)。 对不起,问题中有任何含糊之处。 如果您有任何疑问,请发表评论。 更新: 在我的应用程序控制器中,我添加了一个beforefilter来validation用户身份。 应用程序控制器中仅显示相关代码。 application_controller.rb class ApplicationController :devise_controller? # rest of the code end 我正在使用inheritanceDevise::FailureApp的自定义失败类。 代码看起来像这样。 custom_failure.rb class CustomFailure < Devise::FailureApp def redirect_url eval "new_user_session_path" end def redirect store_location! flash[:alert] = i18n_message # session[:user_return_to] returns '/foobar' here. redirect_to redirect_url end […]