Questions tagged «devise»

Devise是Ruby-on-Rails的身份验证宝。它取代了以前的解决方案,例如Restful Authentication或Authlogic。

29
没有路线匹配“ / users / sign_out”设计导轨3
我已经在应用程序上安装了devise,并在application.html.erb文件中应用了以下内容: <div id="user_nav"> <% if user_signed_in? %> Signed in as <%= current_user.email %>. This cannot be cheese? <%= link_to 'Sign out', destroy_user_session_path %> <% else %> <%= link_to 'Register', new_user_registration_path %> or <%= link_to 'Sign in', new_user_session_path %> <% end %> </div> 我跑步rake routes并确认所有路线均有效。 另外,在我的routes.rb文件中,我还有devise_for :users和root :to => "home#index"。 单击“注销”链接时,出现以下路由错误: …

5
覆盖设计注册控制器
我已经在注册表单中添加了一个基于其他模型的字段,请参阅如何将嵌套属性与devise模型一起使用以获取详细信息。这部分工作正常。 现在的问题是,当我保存时,它在由devise提供的Activerecord::UnknownAttributeError此字段(公司)提供的注册控制器的create动作中失败。 我假设我需要重写注册控制器,还是有更好/更简便的方法来解决这个问题?

6
Heroku / devise-找不到要链接的主机!请提供:host参数或设置default_url_options [:host]
我正在尝试将我的应用程序推送到heroku。我仍然在开发中。我将设计与可确认模块一起使用。 当我尝试使用heroku控制台添加用户时,出现此错误: Missing host to link to! Please provide :host parameter or set default_url_options[:host] 在测试和开发环境中,我有以下内容: 环境/development.rb和环境/test.rb config.action_mailer.default_url_options = { :host => 'localhost:3000' } 我没有在生产环境中设置任何东西。 我试图推动 config.action_mailer.default_url_options = { :host => 'mywebsitename.com' } config.action_mailer.default_url_options = { :host => 'heroku.mywebsitename.com' } 但这也行不通.. 我在网上看到它可能与ActionMailer有关,但是我不知道必须配置什么。非常感谢您的想法! 编辑: 你好 为了避免在我按下heroku时我的应用程序崩溃,我将其放在env / test.rb和env / dev.rb中(不是在env.rb中,我认为这是因为它是Rails 3应用程序) config.action_mailer.default_url_options …

14
如何删除Devise路线进行注册?
我在Rails 3应用程序中使用Devise,但是在这种情况下,必须由现有用户创建用户,该用户确定他/她将拥有哪些权限。 因此,我想要: 要删除路线的用户注册。 为了还允许用户编辑自己的个人资料(变更电子邮件地址和密码)后,双方已经签署了 我怎样才能做到这一点? 目前,我正在通过以下放置有效地删除此路线devise_for :users: match 'users/sign_up' => redirect('/404.html') 那行得通,但我想有更好的办法了,对吧? 更新资料 正如Benoit Garret所说,在我看来,最好的解决方案是跳过整体创建注册路由,而只创建我真正想要的注册路由。 为此,我先运行rake routes,然后使用输出重新创建想要的内容。最终结果是这样的: devise_for :users, :skip => [:registrations] as :user do get 'users/edit' => 'devise/registrations#edit', :as => 'edit_user_registration' put 'users' => 'devise/registrations#update', :as => 'user_registration' end 注意: :registerable我的User模特儿仍然有 devise/registrations 处理更新的电子邮件和密码 更新其他用户属性(权限等)由其他控制器处理 实际答案: 删除默认Devise路径的路由;即: devise_for :users, …

5
从Ruby控制台创建devise用户
关于如何从ruby控制台使用devise创建和保存新User对象的任何想法吗? 当我尝试保存它时,我总是错误的。我想我缺少了一些东西,但是我找不到任何相关信息。

8
所有的Ruby测试提高:nil:NilClass的未定义方法“ authenticate”
我的大部分测试都提出了以下问题,但我不明白为什么。所有方法调用都会引发“身份验证”错误。我已经检查了代码中是否存在一种称为“ authenticate”的方法,但是没有这种方法。 1) Admin::CommentsController handling GET to index is successful Failure/Error: get :index undefined method `authenticate!' for nil:NilClass # ./spec/controllers/admin/comments_controller_spec.rb:9:in `block (3 levels) in <top (required)>' 124) PostsController handling GET for a single post should render show template Failure/Error: get :show, :year => '2008', :month => '01', :day => '01', …

5
在其他控制器中设计表单
我正在将一个devise gem用于sign_in / sign_out过程。 我使用以下方法从devise生成了视图文件 rails g devise views 我看到有一个devise / sessions / new.html.erb文件,其中包含sign_in的表单。 我创建了另一个文件devise / sessions / _form.html.erb,并<%= render 'form' %>在new.html.erb文件中进行了工作,效果很好。 现在,我想包含来自其他控制器的此表单。因此,在名为“ main”的控制器(特别是在视图页面内)中的“ mains / index.html.erb”中,我包含了<%= render 'devise/sessions/form' %>文件。似乎包含工作正常,但出现以下错误。 NameError in Mains#index Showing /home/administrator/Ruby/site_v4_ruby/app/views/devise/sessions/_form.html.erb where line #1 raised: undefined local variable or method `resource' for #<#<Class:0x007f1aa042d530>:0x007f1aa042b870> Extracted source (around …

3
如何使用Devise设置电子邮件确认?
是否有一个教程可以解释如何从头开始(在开发和生产中)设置Devise的注册确认电子邮件,即,如果没有设置Action Mailer? Google搜索刚刚发现了一堆与此相关的独立片段。没有人能解释得足够多,我不确定它们如何组合在一起。是否有逐步的解释,甚至可以解释初始步骤? 终于成功了。遵循下面接受的答案中的所有步骤,然后将以下内容添加到我的environment.rb文件中: ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { :tls => true, :address => "smtp.gmail.com", :port => 587, :domain => "gmail.com", :authentication => :login, :user_name => "[username]", :password => "[password]" }

21
导轨-设计-处理-devise_error_messages
在我的用户编辑页面中,一行如下: <%= devise_error_messages! %> 问题是这不会以其他应用程序的标准方式输出错误: <% flash.each do |key, value| %> <div class="flash <%= key %>"><%= value %></div> <% end %> 我的问题是,如何获得设计错误消息,使其像其他使用flash.each的消息一样工作? 谢谢。


16
未设置设计秘密密钥
我正在使用Active Admin gem开发用于管理后端的Rails 4应用程序。Active Admin依次使用Devise进行用户身份验证。现在,当我尝试capistrano在VPS服务器上使用部署应用程序时,出现以下错误: rake aborted! Devise.secret_key was not set. Please add the following to your Devise initializer: config.secret_key = '-- secret key --' Google搜索对于此错误的作用不大。有什么建议为什么会引发错误?我是否应该将私钥添加到devise初始化程序中,因为我找不到在其中设置此类配置密钥的位置initializers/devise.rb?

4
如何在Devise中验证用户密码
我在使用rails中的devise gem匹配用户密码时遇到问题。用户密码存储在我的数据库中,该密码是cryptod_password,我正在尝试通过密码查找用户,但是我不知道如何从数据库中的表单和cryptoned_pa​​ssword匹配密码。 User.find_by_email_and_password(params[:user][:email], params[:user][:password])

5
Rails 5,未定义方法`for',用于#<Devise在线devise_parameter_sanitizer.for
我正在使用Rails 5 我在模型User中添加了新的字段用户名。 class Users::RegistrationsController &lt; Devise::RegistrationsController before_action :configure_permitted_parameters protected def configure_permitted_parameters devise_parameter_sanitizer.for(:sign_up).push(:username) end end 注册期间显示错误:#的未定义方法“ for”,是您的意思吗?叉子 跟踪: NoMethodError(#的未定义方法“ for”是什么意思?fork): app/controllers/users/registrations_controller.rb:7:in `configure_permitted_parameters' Rendering /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-5.0.0.rc1/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout Rendering /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-5.0.0.rc1/lib/action_dispatch/middleware/templates/rescues/_source.html.erb Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-5.0.0.rc1/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.0ms) Rendering /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-5.0.0.rc1/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-5.0.0.rc1/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.9ms) Rendering /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-5.0.0.rc1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-5.0.0.rc1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.2ms) Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-5.0.0.rc1/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (118.1ms) 谁能帮忙?如何解决这个问题?

9
在Rails的子域之间共享会话(cookie)?
我有一个应用程序设置,其中每个用户都属于一家公司,并且该公司有一个子域(我正在使用basecamp样式的子域)。我面临的问题是,rails正在创建多个cookie(一个用于lvh.me,另一个用于subdomain.lvh.me),这导致我的应用程序中出现了很多中断(例如,虽然所有请求都一次通过,但Flash消息仍然存在)登录)。 我在/cofig/initilizers/session_store.rb文件中有此文件: AppName::Application.config.session_store :cookie_store, key: '_application_devise_session', domain: :all 域::all似乎是我在Google上找到的标准答案,但这似乎对我不起作用。任何帮助表示赞赏!


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.