草庐IT

ruby-on-rails - Rails + Devise + CouchDB 每个子域一个数据库

我正在构建一个需要CouchDB的移动同步功能的应用程序。因此,对于服务上的每个“帐户”,我想创建一个单独的CouchDB数据库实例,以便仅同步该帐户的数据。我正在使用CouchRest模型和设计,它通过单独的用户数据库处理子域身份验证。然而,对于每个模型,在运行时连接到适当数据库的正确方法是什么?设置命名连接的before_filter,然后遍历每个模型并执行如下操作:?[Post,Tag,Comment].eachdo|model|model_server=CouchRest::Server.new(couch_config[:connection])model_server.de

ruby-on-rails - 这个传递给 Devise 的认证方法的 lambda 函数是如何工作的?

在this问题,@user2205763建议使用lambda函数:authenticated:user,lambda{|u|u.is_test}do//routestuffhereend我假设它以某种方式将:user转换为实际的DeviseUser对象(u)但是它是怎么做到的-它实际上在做什么? 最佳答案 Rails允许在路由定义中使用constraints根据一组规则来约束路由。查看DynamicrequestmatchingAPI文档中的示例。Devise在其authenticated方法中使用它。来源是here.authent

ruby-on-rails - Devise 和 Simple_form 关联错误

我在创建注册到我的Rails应用程序时遇到问题,我正在使用Devise和Simple_form,我有2个模型(用户和部门),用户belongs_to:department和departmenthas_many:users,当我尝试注册说该部门必须退出。devise/registrations/new.html.erbSignup用户.rb:classUser部门.rb:classDepartment我使用seeds.rb填充了departments表并通过mysql控制台进行了检查。schema.rb:ActiveRecord::Schema.define(version:201805

ruby-on-rails - 设计 token 验证错误 : Devise. secret_key 未设置

我目前正在使用DeviseTokenAuth(https://github.com/lynndylanhurley/devise_token_auth)gem并让它在开发中运行良好。但是,在我的生产环境中,当我运行rakedb:migrate时,出现以下错误:rakeaborted!Devise.secret_keywasnotset.PleaseaddthefollowingtoyourDeviseinitializer:config.secret_key='mysecretkey'Pleaseensureyourestartedyourapplicationafterinstall

ruby-on-rails - 与 devise/warden 一起使用的 Rails ACL 插件?

如题,warden的可插拔性很强,不知道有没有warden/devise可以用的? 最佳答案 我使用http://github.com/ryanb/cancan使用Devise,它非常好并且只需要很少的设置,您只需定义功能,因为CanCan默认为登录用户使用current_user,这是devise提供的。 关于ruby-on-rails-与devise/warden一起使用的RailsACL插件?,我们在StackOverflow上找到一个类似的问题: ht

ruby-on-rails - Rails中的意外 session 劫持4.2.4(Devise/Warden),Phusion乘客5.0.24

背景详细信息我们最近遇到了一个问题,用户a可能会无意中劫持用户b的会话,该用户试图在(几乎)与用户a同时访问控制器生成的下载。我们仍然不能百分之百确定发生这种情况所必需的所有条件,但我们可以在生产和准备环境中可靠地重现问题。这些环境的重要细节如下。环境详细信息应用服务器:phusionpassenger5.0.21或5.0.24(这意味着我们尝试了两个版本,并且都复制了这个问题)框架:Rails4.2.4语言:ruby2.2.3操作系统:CentOS6有趣的是,我们不能用PhusionPassenger4.0.53再现这个问题。重现劫持的步骤这似乎太简单了,不可能是真的,但这是所有必要

ruby-on-rails - 在 Rails 3 中使用 Devise 测试 'current_user'

我刚刚开始使用Ruby和Rails,尝试使用Rails3进行设计。我有一个围绕帖子列表的循环,每个帖子都有一个关联的用户。我只想显示与当前用户关联的那些帖子的编辑控件。(上面是简化的,并且是根据内存,所以我确信语法不完全正确-但你明白了要点。)如果没有用户登录,帖子将按预期显示-有一个Show链接,但没有Edit链接。但是,如果我完全登录,所有的Edit链接都会显示,甚至是其他用户创建的第一个帖子。我已在控制台中验证User.find(1)!=User.find(2),但由于某些原因current_user=post.user无论当前谁登录,计算结果都为真。这是因为current_us

ruby-on-rails - 无法更新用户属性 - Rails 和 Devise

我将Rails(3.0.9)与Devise(1.5.3)一起使用,并且我有一个用户模型,其中的属性由于某种我不知道的原因而无法更新。这个User对象的表单有很多属性,包括来自devise的属性:例如password和password_confirmation。当我提交表单时,我在记录器中得到了这个:警告:无法批量分配protected属性:current_password但是当我将current_password添加到attr_accessible时,我得到:ActiveRecord::UnknownAttributeError在/users未知属性:current_password我

ruby-on-rails - 无法登录用户资源 - devise/sessionsController#create 中的 NoMethod 错误

我在使用Rails3和Devise时遇到了一个特殊问题。我的Rails应用程序有3种用户类型:客户、所有者和管理员routes.rb:devise_for:adminsdevise_for:ownersdevise_for:clientsapplication_controller.rb:defafter_sign_in_path_for(resource)ifresource=="client""/client_accounts/"+current_client.id.to_selsifresource=="admin"stored_location_for(:admins)||"/

ruby-on-rails - 停止 Devise 的当前密码要求

我的网站的编辑用户部分有问题。出于某种原因,我在尝试编辑用户时不断收到错误“当前密码不能为空”。我们使用devise来管理用户,但我似乎无法在任何地方找到会产生此错误的代码。表单代码如下:-semantic_form_for(resource,:as=>resource_name,:url=>registration_path(resource_name),:html=>{:method=>:put})do|form|=devise_error_messages!=form.semantic_errors=form.input:first=form.input:last=form.in