Tag: devise

Ajax删除链接注销current_user

标题几乎解释了它。 我有一个奇怪的情况,允许用户使用Ajax删除通知的视图导致current_user被注销。 我甚至不知道从哪里开始调试这个…… 这是控制器 class NotificationsController < ApplicationController def destroy @notification = Notification.find(params[:id]) @notification.destroy respond_to do |format| format.js end end end 这是整个控制器,没有任何删节。 通知由系统生成,因此用户可以采取的唯一操作是“解雇”(即删除)它们。 我也尝试使用较新的respond_with语法并具有相同的效果。 我正在使用Devise和Rails 3.0.9。 知道会发生什么 – 或者如何调试? – 编辑1 – 的routes.rb resources :notifications, :only => [:destroy] 删除链接 %span.delete= link_to( ‘dismiss’, notification_path(notification), :method => :delete, :remote => true ) – 编辑2 – 好吧,我注意到了日志中的新内容 – […]

使用devise进行RESTful登录(Rails 4)

如何使用Ruby on Rails中的设计进行RESTful注册和登录(我使用的是版本4)? 我找不到任何关于我应该POST到服务器的参数(例如电子邮件,密码)的文档。 在当前版本的设计中,似乎不支持使用JSON数据(例如通过AJAX)的RESTful登录 – 默认行为是为任何类型的请求发送回整个HTML页面,而不是JSON对象用于专门处理JSON请求。 这是否意味着我需要创建/扩展自定义控制器以使用JSON处理用户注册和登录RESTful应用程序? 如果是这样,请详细说明。

从设计中获取错误“用户不响应’设计’方法”运行“rails generate devise:install”时

我在运行“rails generate devise:install”时遇到设计错误“用户没有响应’设计’方法”。 想法如何解决? 实际上在尝试运行“rails generate devise:install”时也会出现此错误。 笔记: Gregs-MacBook-Pro:testapp greg$ rails generate devise:install /Library/Ruby/Gems/1.8/gems/devise-2.0.1/lib/devise/rails/routes.rb:406:in `raise_no_devise_method_error!’: User does not respond to ‘devise’ method. This usually means you haven’t loaded your ORM file or it’s being loaded too late. To fix it, be sure to require ‘devise/orm/YOUR_ORM’ inside ‘config/initializers/devise.rb’ or before your application definition in ‘config/application.rb’ (RuntimeError) […]

在设计上设置ssl

我想要在设计上为用户资源要求ssl身份validation。 我期待它像在rails中一样简单,例如: devise_for :users, :constraints => { :protocol => “https” } 此外,我找不到关于devise的github的任何文档,尽管我在google组中发现了一些指向它的死链接。 有没有人提示如何让它轻松工作? 考虑到插件的流行,我觉得我很简单

在rails中如何限制用户在要求升级其帐户之前保存在数据库中的post数

我正在添加一种控制非订阅用户和订阅用户的小方法。 基本上我的想法是所有使用Devise注册的用户都可以获得一个帐户。 但是,根据找到的用户ID,我的模型或用户在数据库中可以拥有的post数量应为25个post。 我猜这些会起作用; 模型 class Post belongs_to :user validate :quota, :on => :refresh def quota Posts = Posts.find(params[:id]) if user.posts.count >= 25 flash[:error] = “Sorry you need to upgrade” end end end :refresh是我正在努力抓取post的地方,并将这些post添加到数据库中的current_user,或者将current_user id分配给它添加到数据库的每个post。 我对上述function是否正确? 或者我应该将validation计数添加到我的刷新控制器/模型中,如此; class dashboard def refresh … if self.user.posts.count >= 25 flash[:error] = “You’ve reached maximum posts you can import” […]

使用Devise in Rails注销特定用户

我有用于用户身份validation的Devise。 我想签出具有特定ID的用户。 在我的控制器中 def exit @user = User.find(5) sign_out(@user) # this line here signs out the current_user end 设计的注销命令,即使我通过@user,它也会注销current_user。 如何从数据库中选择用户并使用设计命令将其注销?

Rails – 设计,如何禁用某些默认路由?

我想完全禁用路由/ users / sign_in以获取和发布。 我能够使用以下方法成功覆盖它们: devise_for :users do get “/admin” => “devise/sessions#new”, :as => :new_user_session post “/admin” => “devise/sessions#create”, :as => :user_session end 当我运行rake路线时,我看到以下内容: new_user_session GET /admin(.:format) {:controller=>”devise/sessions”, :action=>”new”} user_session POST /admin(.:format) {:controller=>”devise/sessions”, :action=>”create”} new_user_session GET /users/sign_in(.:format) {:action=>”new”, :controller=>”devise/sessions”} POST /users/sign_in(.:format) {:action=>”create”, :controller=>”devise/sessions”} 我可以从/ admin以及/ users / sign_in访问登录。 但我想完全删除最后两行,是否可能? 我从文档中尝试了一些不同的组合,但它也覆盖了一些有用的组合,如密码/新密码/编辑路由。

Ruby on Rails:自定义设计注册控制器,请求创建操作

我有一个自定义注册控制器,但我不想覆盖设计的创建操作。 当我尝试注册用户时,出现此错误: Unknown action The action ‘create’ could not be found for Devise::RegistrationsController 它是否要求它,因为我有一个自定义注册控制器? 如果是这样,这是否意味着我需要复制我不会从这里覆盖的所有操作: https : //github.com/plataformatec/devise/blob/master/app/controllers/devise/registrations_controller.rb 或者因为我的申请有问题? 我的路线: devise_for :user, :controllers => { :registrations => “devise/registrations” }, :skip => [:sessions] do get ‘signup’ => ‘devise/registrations#new’, :as => :new_user_registration post ‘signup’ => ‘devise/registrations#create’, :as => :user_registration end 这是我的设计注册控制器 class Devise::RegistrationsController true redirect_to after_update_path_for(@user) else […]

Rails 3 – 基本的http身份validation与使用iphone的身份validation令牌

最初我使用基本的http身份validation来按照本指南对设计用户进行身份validation: http://jessehowarth.com/2011/04/27/ajax-login-with-devise 我成功地validation了用户,但会话仍然永远登录。 没有办法破坏用户的会话。 事实上,当我添加user_signed_in? 在我的create方法中设计的方法,即使通过json注销也总是返回true。 所以我得出结论,没有办法使用基本的http身份validation结束会话。 您所能做的就是检查用户是否已登录并将状态代码作为json发送回客户端。 然后我尝试了身份validation令牌路由,它允许您使用身份validation令牌创建会话,然后通过删除该身份validation令牌来销毁会话,并且用户必须再次登录才能访问需要身份validation的页面,如在这篇文章中显示: 使用CURL进行设计和认证! 这样做的缺点是,您需要为每个需要身份validation的页面输入这个非常长的字符串,这似乎有点不合需要。 我希望这里有两个世界中最好的,你可以像在网络浏览器中一样登录和退出。 我不确定我所说的一切是否准确,但似乎与这篇文章一致: 设计和rails 3中的http身份validation 在那篇文章中,他说身份validation令牌“比http基本身份validation更安全,因为密钥可能会过期”。 我认为他的意思是,一旦您使用基本身份validation登录,那就是它,您将永远登录,而身份validation令牌可以使其过期并强制用户再次登录。 这是准确的解释吗? 谢谢你的回复

使用Devise 1.3对JSON登录请求进行身份validation

我是铁杆新手。 我正在尝试为使用JSON进行身份validation的移动应用程序编写API。 我想使用Devise进行身份validation。 我相信Devise> 1.3也增加了对JSON的支持,但我找不到任何关于它的例子或文献。 有人可以指出我的任何资源或提供一些示例代码? 谢谢! 萨蒂扬