Tag: 设计

Pails与Rails以及用户,管理员和角色模型

继Rails_admin之后:我应该有admin_user或具有admin角色的用户来管理用户和管理面板我想要采用Pundit来实现其应用程序的策略优雅。 该应用程序具有用户模型和管理员模型 – 一个用于客户,另一个用于员工。 它也是多租户,但不应该对这个问题造成严重影响。 我还希望有一个单独的角色模型,允许客户根据需要混合和匹配他们自己的“标题”。 这在实施中也不应该非常困难。 困难的部分是支持Pundit策略以支持两种不同的用户模型 – 用户(客户)和管理员(员工)。 是否应该使用pundit_user方法将Admin或User设置为pundit_user(基于通过current_user和current_admin_user的可用性),或者是否有另一种方法。 我没有找到关于这个用例的很好的文档(除了github上的短线 )。 def pundit_user if !current_admin_user.nil? current_admin_user elsif !current_user.nil? current_user else nil end end

设计两种型号

我正在使用“嵌套身份validation”构建应用程序这意味着我有一个House模型(带有设计),并且一个房子有很多用户,一旦进入House身份validation,我希望用户也可以登录。 我还添加了一个带有Devise的用户模型。 我的问题是,现在我收到错误,因为我为Houses设计的设计sign_up表单不适用于User模型。 如何使用设计为两个不同的用户模型创建单独的sign_up和sign_in表单? 或者有更好的方法来做这件事吗? 谢谢!

设计在XHR上抛出HTTP auth并注销

我在使用OmniAuthvalidation我的Rails应用程序时遇到了很多问题。 我重新启动我的服务器并在隐身模式下打开一个新选项卡(以便清除cookie)并加载我的应用程序。 我登录,然后进入应用程序。 当我到达通过AJAX调用经过身份validation的操作的页面时,它会通过HTTP基本身份validation请求用户名和密码。 我在我的devise.rb中禁用了这个。 config.http_authenticatable = false config.http_authenticatable_on_xhr = false 当我返回上一页时,它会将我重定向到登录页面并要求登录。 当我访问不需要身份validation的页面然后返回经过身份validation的页面时,也会发生这种情况。 这令人非常沮丧。 我已经将Devise和Warden解压缩到我的vendor / gems目录中,以便我可以尝试调试它,但老实说我无法弄清楚从哪里开始。 任何帮助将非常感激。

自动为用户设置密码 – 设计

在本教程之后 ,我设置了一个简单的设计注册系统,用户输入他们的电子邮件地址,他们会收到一封确认电子邮件,他们点击它,将他们带到一个表格,他们必须输入密码并完成注册。 如何跳过该密码表单,以便用户点击其电子邮件中的确认链接后,会创建其帐户? 如何为所有用户自动设置简单密码?

Rails_admin:我应该有admin_user或具有admin角色的用户来管理用户和管理面板

在我的rails应用程序网站中,访问者可以注册并创建内容。 它使用设计用户模型,一切运作良好。 现在我想使用rails_admin来管理网站资源和用户等,只有拥有管理上限的人才能访问它。 我应该为管理面板访问创建单独的AdminUser模型,还是使用admin角色的用户模型,并使用一些授权库来管理访问。 如果我只使用一个模型,那么我希望用户在登录后重定向到管理面板,如果用户是管理员,如果不是,那么我希望用户被重定向到他们的个人资料。 哪个授权库cancan或专家将更适合我的情况。 谢谢!

我想定制设计gem的控制器,它有可能,怎么做?

有没有办法自定义设计控制器,因为我们可以使用“rails g devise:views”生成器命令修改设计视图。 ?? 这里好的目的是在用户注册后立即为当前用户创建统计表行。 我有为每个用户维护的用户统计信息。我只想在用户注册我的Web应用程序时在后台触发userstats控制器的create方法。 有没有办法做到这一点 ?

设计可邀请:可选择发送电子邮件

在设计中,您可以通过执行以下方式邀请新用户: User.invite!(:email => “new_user@example.com”, :name => “John Doe”) 我想做的是(有时)阻止设计邀请发送电子邮件。 我在库中找到了以下代码: def invite! if new_record? || invited? self.skip_confirmation! if self.new_record? && self.respond_to?(:skip_confirmation!) generate_invitation_token if self.invitation_token.nil? self.invitation_sent_at = Time.now.utc save(:validate => false) ::Devise.mailer.invitation_instructions(self).deliver end end 关于如何最好地更新那些不在最后一行发送电子邮件的任何想法? 我不熟悉:: 谢谢

Rails设计PG :: SyntaxError:错误:在“”“或附近的零长度分隔标识符

我正在尝试添加一个新的设计模型。 当我使用sign_up路径时,我能够创建用户,但在保存新用户(医生)后会抛出错误。 错误不是很有帮助,所以我希望有人能指出我正确的调试方向。 错误是ActiveRecord::StatementInvalid in Devise::RegistrationsController#create PG::SyntaxError: ERROR: zero-length delimited identifier at or near “””” LINE 1: …in_ip” = $4, “sign_in_count” = $5 WHERE “doctors”.”” IS NULL ^ : UPDATE “doctors” SET “current_sign_in_at” = $1, “current_sign_in_ip” = $2, “last_sign_in_at” = $3, “last_sign_in_ip” = $4, “sign_in_count” = $5 WHERE “doctors”.”” IS NULL 我的架构是 create_table “doctors”, id: […]

设计令牌身份validation – 安装设备令牌身份validation后无法创建用户帐户

我安装了devise token auth gem。 https://github.com/lynndylanhurley/devise_token_auth#model-concerns 我设法得到了路线和所有。 但不幸的是,注册已停止工作。 当我尝试注册时,它会显示这样的错误。 NoMethodError in Devise::RegistrationsController#create undefined method `provider’ for # Extracted source (around line #433): else match = match_attribute_method?(method.to_s) match ? attribute_missing(match, *args, &block) : super end end 这是我的路线 devise_for :admin_users, ActiveAdmin::Devise.config ActiveAdmin.routes(self) devise_for :users namespace :api do scope :v1 do mount_devise_token_auth_for ‘User’, at: ‘auth’ end end 根据文档,注册需要电子邮件,密码和password_confirmation。 我不是我想念的。 […]

设计错误:电子邮件不能为空

(编辑:添加了development.log日志,“未经许可的参数:电子邮件”) Devise工作正常但我删除了所有使用rails控制台的用户,并试图建立一个新用户。 我收到错误, email can’t be blank 。 当我删除:validatable块时,我收到此错误 。 我试图回到提交,但所有其他提交都存在错误。 我不确定它是否与数据库有关。 我的项目可以在这里找到(我推动了最后一次提交)。 我不确定问题出在哪里以及我可以为设计复制什么。 我在这里放了一些可能显示问题的代码。 我能够通过rails控制台创建用户: u = User.new(:email => “user@name.com”, :username => “test”, :password => ‘password’, :password_confirmation => ‘password’) u.save 尝试注册时记录日志: Processing by Devise::RegistrationsController#create as HTML Parameters: {“utf8″=>”✓”, “authenticity_token”=>”WQkgKxF8rIB1wAq8vnz4Y0bCv9Txlyv0eO8IyEmpEAk=”, “user”=>{“email”=>”user@example.com”, “username”=>”test”, “password”=>”[FILTERED]”, “password_confirmation”=>”[FILTERED]”}, “commit”=>”Sign up”} Unpermitted parameters: email User.rb class User < ActiveRecord::Base devise […]