我想知道如何集成这两个宝石(设计+强参数),因为强的params可能会被添加到4.0中的rails core
欢迎任何帮助谢谢
我正在尝试在我的Rails应用程序中使用自定义路由(Ruby 1.9.2 with Rails 3).
这是我的config/routes.rb文件
match '/dashboard' => 'home#dashboard', :as => 'user_root'
devise_for :user do
get "/login", :to => "devise/sessions#new" # Add a custom sign in route for user sign in
get "/logout", :to => "devise/sessions#destroy" # Add a custom sing out route for user sign out
get "/register", :to => "devise/registrations#new" # Add a Custom Route for Registrations
end
Run Code Online (Sandbox Code Playgroud)
但是在/ login或/ register上提交表单会转到users/sign_in和users/sign_up.我该如何防止这种情况发生.或者甚至更好地确保默认情况下对users/sign_in等的所有请求都转到相关路由而不是Devise生成的默认路由.
另外,我如何使登录表单部分包含在任何控制器中?这样我可以在主页上设置登录页面(主页#index)而不是用户/ sign_in?
我在Mac OSX Snow Leopard上使用Ruby 1.9.2上的Devise 1.1.3和Rails 3.
谢谢!
我之前已在我的网站上实施Authlogic授权.现在我希望切换到使用Devise,我想知道是否有人对此有任何经验.也许有人看过关于这个主题的博客文章?
谢谢.
所以,我正在尝试使用带有Devise的令牌(版本1.0.3和Rails 2.3.8)让用户登录,但我不完全确定从哪里开始.
http://zyphdesignco.com/blog/simple-auth-token-example-with-devise
上面的教程帮助我打开了令牌功能,并展示了如何生成(或删除)令牌......但是令牌的整个POINT是用它们来授权用户,对吗?
当我在控制台中查看用户时,我可以说user.authentication_token,并得到一些回复:"Qm1ne93n_XkgmQTvxDmm",这一切都很好......但是我从哪里开始呢?
我尝试使用以下命令行命令命中sign_in root:
curl -d"authentication_token = Qm1ne93n_XkgmQTvxDmm"localhost:3000/users/sign_in
并且肯定没有成功登录.
在会话控制器中,我看到他们调用:
验证(RESOURCE_NAME)
我在假设的是模块中的某个地方:
包括Devise :: Controllers :: InternalHelpers
包括在内,但我不知道在哪里寻找(它绝对不在源的控制器文件夹中).如果我能看看身份验证是如何工作的,我可以看看它是否甚至可以看到令牌......
设计是否允许您实际使用令牌登录,或者它是否只有生成它们的框架?如果它确实让你登录他们...你怎么做?你能不能使用curl(即它是否必须在浏览器中?如果是这样,我会自己推出自己的解决方案,我需要非浏览器支持.).如果没有,我该怎么做自己的?
使用Devise 2.1.2和Rails 3.2.6
我正在做这个问答,以防万一其他人遇到这个问题,因为我发现它很少和分散的文档.
如果您尝试设置Devise为可锁定,则可能会发生此错误.
undefined local variable or method `locked_at' for [someClass]
Run Code Online (Sandbox Code Playgroud)
这意味着您的模型没有适当的属性.
先决条件:在config/initializers/devise.rb中设置以下内容
# ==> Configuration for :lockable
# Defines which strategy will be used to lock an account.
# :failed_attempts = Locks an account after a number of failed attempts to sign in.
# :none = No lock strategy. You should handle locking by yourself.
config.lock_strategy = :failed_attempts
# Defines which key will be used when locking and unlocking an account
config.unlock_keys = [ :email …Run Code Online (Sandbox Code Playgroud) 我正在使用devisegem,点击确认链接后,我想直接登录.目前要求再次登录.
最近我在devise初始化文件中添加了以下内容:
config.allow_insecure_token_lookup = true
config.secret_key = 'a8d814803c0bcc735ce657adc77793459d00154cdd7532c13d3489600dc4e963f86e14beb593a32cbe9dbbe9197c9ce50a30102f363d90350052dc8d69930033'
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我正在尝试将我的rails项目拆分为普通用户的前端和管理员的后端.因此,我创建了一个名称空间"admin",以便我可以在地图管理员中轻松控制管理员特定的控制器方法/布局/身份验证.
我正在使用Devise来注册/验证我的管理员.因为它仅用于管理员,所以我试图将Devise移动到管理员命名空间.
我无法在Devise 的文档中找到我正在寻找的内容,但我在routes.rb中尝试过类似的内容:
namespace 'admin'do
devise_for :admins
end
Run Code Online (Sandbox Code Playgroud)
我也尝试制作一个自定义的Devise :: Sessions控制器,但这似乎也没有成功.
有谁知道如何做到这一点?我应该使用自定义(管理员)布局的常规路线设计吗?
我一直在寻求掌握设计及其运作方式,并且在第一道障碍时有点堕落.我已经看了几个地方,但似乎无法找到有这个错误的人.
所以我创建了一个带索引视图的简单Home控制器并添加了root'home #index',并确保在development.rb文件中设置了默认的url选项.然后我输入:
rails generate devise User
Run Code Online (Sandbox Code Playgroud)
这在模型中创建了我的user.rb文件,其中包含以下内容:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
Run Code Online (Sandbox Code Playgroud)
到目前为止非常简单,我有以下Gemfile:
source 'https://rubygems.org'
gem 'rails', '4.0.5'
gem 'sqlite3'
gem 'sass-rails', '~> 4.0.2'
gem 'devise'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'
group :doc do
gem 'sdoc', require: false
end
gem 'bcrypt'
Run Code Online (Sandbox Code Playgroud)
当我运行rake db:migrate时,我收到以下错误:
rake aborted!
NoMethodError: undefined …Run Code Online (Sandbox Code Playgroud) 我之前一直token_authenticatable用来保护我的API,但是,我发现它已被弃用了?我应该使用什么,为什么他们弃用它?