Tag: 设计

firefox中的rails csrfvalidation

我有一个使用Devise创建的站点使用Devise进行身份validation。 它在Chrome中运行得非常好,但在Firefox中我无法登录。我只能在日志中看到一条消息: WARNING: Can’t verify CSRF token authenticity并且登录屏幕返回时没有任何错误消息。 有人能给我一个暗示在哪里照顾正在发生的事情吗?

I18N的基本设计规范

我是RSpec的新手,并尝试编写一个简单的测试,显示Devise正在工作。 我选择了一个随机页面,想要编写一个测试,显示未登录的用户被重定向到/ users / sign_in。 describe OrgsController do describe “GET index when not logged in” do it “redirects to new_user_session_path” do user = FactoryGirl.create(:user) user.confirm! sign_in user sign_out user get :index response.should redirect_to new_user_session_path end end before(:each) do user = FactoryGirl.create(:user) user.confirm! sign_in user end # remaining specs end 我得到”Expected response to be a redirect […]

Rails,DEVISE – 防止用户更改其电子邮件地址

当用户在我的应用程序上注册时,他们必须确认他们的电子邮件,由Devise + Rails 3提供支持。 电子邮件地址定义了用户的权限,因此我不希望用户在注册后能够更改它。 删除:来自users.rb attr_accessible的电子邮件,该电子邮件适用于登录用户,但现在用户无法注册。 处理这个问题的正确方法是什么? 因此用户无法更新他们的电子邮件,但可以使用设计注册他们的电子邮件。 谢谢

Rails 3 +设计:user_signed_in? 对于数据库中的其他用户?

我正在构建一个应用程序,我想为给定用户添加在线状态。 我知道Devise有一个方法user_signed_in? 内置以检查使用该应用程序的用户是否已登录。 但是当我尝试将它用于这样的不同用户时: user_signed_in?(user) user.user_signed_in? 我显然得到一个未定义的方法错误。 Devise有这个方法还是我必须自己编写? 一种方法是将给定用户的在线状态存储在用户模型中。 什么是最好的解决方案?

当有STI时,Rails会设计注册表

我不知道如何创建一个工人和一个协会。 所以我能够将它们联系在一起。 我在用户中有一个类型colulm。 这是我的表格(http:// localhost:3000 / workers / sign_up): Create Worker resource_name, :url => registration_path(resource_name)) do |f| %> “devise/shared/links” %> 这是我的模特: Class Worker < User devise :database_authenticatable, :registerable end Class Company < User devise :database_authenticatable, :registerable end Class User < Appliaction::Base devise :database_authenticatable, :registerable end 我想创建一个创建User和Worker的注册表单。 我在Workers表中列了姓名,年龄和地址,我想在注册表中填写。 它应该是嵌套的forms,我应该在worker和User表之间创建关联。 最好的问候,Rails初学者

使用Devise after_sign_in_path_for重定向循环

我有一点菜鸟问题。 我想设计重定向到用户访问的最后一页。 所以我做了以下…… def after_sign_in_path_for(resource) request.referer end 工作得很好…除非用户实际通过原始表单登录导致重定向循环。 我试过了 def after_sign_in_path_for(resource) if (request.referer == “/users/sign_in”) :pages_home else request.referer end end 但这不起作用,很可能是因为我不知道request.referer在遇到原始用户登录页面时实际返回了什么(www.example.com/users/sign_in)。 有任何想法吗? tldr; 使用devise,我想重定向到从(/ blog / 4)登录的页面,除非页面是/ users / sign_in 解决了: Matchu是对的。 request.referer也返回了域名…… http://example.com/users/sign_in (注意:没有www前缀) 如果它是一种不安全或低效的方式,我仍然对request.referer的替代方案感兴趣。

Ruby on Rails 4,Devise和profile页面

我是编码的新手,所以这可能是一个简单的问题。 我大约一个月前开始使用RoR。 不幸的是,我遇到了一个障碍,似乎无法克服它。 我已经尝试过寻找其他SO问题寻求帮助,但我仍然是新手,因此编码建议对我来说仍然有些陌生。 我希望有人能把事情变得更加新手友好。 我想要做的是让我的网站为每个注册用户设置一个配置文件。 这将是一个私人配置文件,只有用户和管理员才能访问。 在用户注册/登录后,我希望将他们重定向到他们的个人资料,在那里他们可以编辑年龄和体重等信息。 我花了最近3天试图弄清楚如何为每个新用户创建一个配置文件页面。 我查看了Devise github自述文件,但我仍然难过。 我已经生成了用户控制器和用户视图,但我甚至不知道自从我设计以来是否需要执行这些步骤。 你们可以给我的任何帮助将不胜感激。 这是我的github页面的链接 – https://github.com/Thefoodie/PupPics 谢谢

Rails 3和Devise:重定向到注册后的页面(可确认)

我有一个带Devise的Rails 3项目,启用了确认,因此用户必须在注册后通过电子邮件确认他们的帐户。 目前,该项目将用户返回到登录页面并抛出“您已成功注册…”通知。 我想要做的是将它们重定向到“谢谢”页面,并提供进一步说明(检查您的电子邮件,垃圾邮件文件夹,等等)。 我的第一站是Devise wiki,在那里我找到了这个页面 。 看起来很容易,我做了以下改动,并严格按照指示…… /app/controllers/registrations_controller.rb class RegistrationsController < Devise::RegistrationsController protected def after_sign_up_path_for(resource) "http://google.com" end end /config/routes.rb devise_for :users, :controllers => { :registrations => “registrations” } 我必须在方向上进行的一项修改是将“registrations”文件夹移出/ app / views / devise视图文件夹并移至top / app / views文件夹,因为返回的错误现在缺少视图。 无论如何,尽管控制器覆盖似乎工作(我不认为视图原本会破坏),这些方向不起作用…页面忽略after_sign_up并在注册后返回登录页面。 在互联网上搜索包括其他Stack Overflow线程,但我发现的任何内容都没有对我有用…或者回答混淆重定向注册用于登录IN,或者他们实际做的是在登录后改变重定向(正如Devise通常注册后自动登录,不启用确认)。 我试过的其他事情…… 将after_sign_up_path_for(资源)移动到应用程序控制器中。 不起作用。 奇怪的是,使用after_sign_in_path_for(资源)执行相同操作并以用户身份登录重定向。 将registrations_controller.rb从/ app / controllers /移动到/ app / controllers / […]

before_filter with devise

我正在使用Devise内置的before_filter :authenticate_user! 。 如果用户未通过filter(尝试在注销时执行操作),我想在我的应用程序助手中调用我自己的自定义方法。 我该怎么做?

使用ActiveAdmin处理多个管理类型登录

我有一个应用程序需要三个用户类型(用户,代理,管理员)登录并需要不同的设计模块。 User AgentAdmin AdminUser confirmable Yes Yes No lockable Yes Yes No timeoutable No Yes Yes Omniauthable Yes No No database_authenticatable Yes Yes Yes recoverable Yes Yes No rememberable Yes Yes No trackable Yes Yes Yes validatable Yes Yes Yes 此外,这些用户可以根据其类型添加其他列。 所以,我想根据它们的类型创建不同的表。 根据我的要求,我决定使用具有不同命名空间的ActiveAdmin处理AgentAdmin和AdminUser (管理员为AgentAdmin ,代理为AgentAdmin )。 我已为这两个命名空间配置了authentication_method , current_user_method和logout_link_path ,如下所示。 config.load_paths = [File.join(Rails.root,’app’,’admin’), File.join(Rails.root,’app’,’agent’)] config.namespace […]