小编MZa*_*oza的帖子

您可以使用 Authlogic 检查以前使用过的密码(密码历史记录)吗?

我在 rails 应用程序中使用Authlogic进行密码验证。我想确保用户不使用过去 10 个使用过的密码中的任何一个。Authlogic 是否允许您这样做,或者您必须手动滚动某些东西?

passwords ruby-on-rails authlogic

4
推荐指数
1
解决办法
998
查看次数

与Ruby on Rails中的范围相关联

我有一个Ruby on Rails应用程序,其中我有许可证,可以获得许可的项目以及列出这两个项目的表格(许可证中存在哪些数量的项目?).类似于购物车中的物品.

有些项目将不再销售,但我打算将它们保存在数据库中.然后,我创建了一个软删除,并使用了模板和关系的默认范围.但是当我尝试使用相关模板更改现有记录时,我得到一个例外:ActiveRecord :: ReadOnlyRecord

我的模板看起来像这样:

class Item <ActiveRecord :: Base
  default_scope {where (deleted: false)}
end

class LicenseItem <ActiveRecord :: Base
  belongs_to: license, touch: true
  belongs_to: item
end

class License <ActiveRecord :: Base
  has_many: license_items,
          -> {joins (: item) .where (items: {deleted: false})},
          dependent:: destroy
end
Run Code Online (Sandbox Code Playgroud)

通过这种方式:

pry (main)> License.find (0) .license_items [0] .readonly?
=> true
Run Code Online (Sandbox Code Playgroud)

有没有办法让这种关系不只是阅读?

我已经尝试readonly (false)has_many范围的末尾添加License但没有成功.

ruby activerecord ruby-on-rails ruby-on-rails-3

4
推荐指数
1
解决办法
199
查看次数

无法使用应用名称访问Heroku控制台

我刚开始一个新的应用程序,我能够把它推到Heroku,但我似乎,我无法访问控制台.

我正在运行的命令是:

heroku run console --app myappname
Run Code Online (Sandbox Code Playgroud)

我得到的是:

Running `console` attached to terminal... up, run.3951 Usage:   rails
new APP_PATH [options]

Options:   -r, [--ruby=PATH]              # Path to the Ruby binary of
your choice
                                 # Default: /app/vendor/ruby-1.9.3/bin/ruby   -b, [--builder=BUILDER]        #
Path to a application builder (can be a filesystem path or URL)   -m,
[--template=TEMPLATE]      # Path to an application template (can be a
filesystem path or URL)
      [--skip-gemfile]           # Don't create a Gemfile
      [--skip-bundle]            # Don't run bundle install   -G, [--skip-git]               # …
Run Code Online (Sandbox Code Playgroud)

console heroku

3
推荐指数
1
解决办法
6155
查看次数

iOS在地图上添加共享扩展

我想在Apple的地图上添加分享扩展,有谁知道怎么做.我尝试将NSExtensionAttributes设置如下,但它不起作用,我的APP没有显示在地图的共享表中.

NSExtensionAttributes

NSExtensionActivationRule
  NSExetnsionActivationSupportsWebURLWithMaxCount
  NSExetnsionActivationSupportsWebPageWithMaxCount
Run Code Online (Sandbox Code Playgroud)

maps ios ios8-share-extension

3
推荐指数
1
解决办法
2858
查看次数

根据登录时的用户角色设计重定向到特定页面

我有一个用户三种可能的权限是在我的Rails应用程序,它们是User.is_adminUser.is_schoolUser.is_security。根据我的应用程序的性质,我需要为每个做完全不同事情的用户有一个单独的主屏幕,我正在工作。我遇到的问题与所有用户登录后设计如何自动重定向到 root_path 相关,而不管我设置的权限如何。

我将 Devise Sessions 控制器生成到 Users 命名空间中,并将其覆盖为默认为我的控制器,但是现在当我尝试根据条件权限进行重定向时,我得到了一个DoubleRenderError(明显的原因是 Devise 正在其他地方重定向创建会话时)。

我已经尝试将它作为 after_action 运行,甚至尝试after_sign_in_path_for按照 Devise 文档的方向覆盖该 方法,但我仍然无法让它工作。任何帮助将不胜感激,谢谢!

ruby redirect ruby-on-rails devise

3
推荐指数
1
解决办法
2203
查看次数

Rails 设计自定义邮件程序

我想向 Devise 添加新的邮件程序方法,这些方法主要复制内置方法的工作流程,但添加了一些参数和不同的视图。

例如 reset_password_instructions 用于两种情况:

  1. 当现有用户只想重置他的密码时。
  2. 当用户邀请另一个用户时,该用户将使用随机密码保存在数据库中。他收到一封带有 reset_password_token 的电子邮件,应该将他重定向到编辑密码页面,以便他以后可以登录。

相同的功能,但我希望第二封电子邮件具有不同的视图,并且我还需要能够传入发送邀请的人的姓名。

这非常令人困惑,因为设计邮件程序调用了一堆其他方法和助手,所以我不知道要重写哪些方法才能实现这一点。

ruby ruby-on-rails actionmailer devise

3
推荐指数
1
解决办法
3564
查看次数

rspec shoulda matchers 预计属于多态

我正在尝试测试我的多态关联,但我似乎无法让它通过

模型:

class Foo < ApplicationRecord
  belongs_to :bar, polymorphic: true, optional: true
end
Run Code Online (Sandbox Code Playgroud)

现在我的测试看起来像

RSpec.describe Foo, type: :model do
  subject { build(:foo) }
  it { is_expected.to belong_to(:bar) }
end
Run Code Online (Sandbox Code Playgroud)

我收到的错误

Foo
  is expected to belong to bar required: true (FAILED - 1)

Failures:

>   1) Foo is expected to belong to bar required: true
>      Failure/Error: it { is_expected.to belong_to(:bar) }
>        Expected Foo to have a belongs_to association called bar (and for the record to fail validation if :bar …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails shoulda-matchers

3
推荐指数
1
解决办法
2055
查看次数

在邮件中添加超链接

我的要求是添加从Ruby On Rails开发的应用程序发送的邮件的链接.单击邮件中的该链接需要将用户路由到应用程序中的该特定记录.

有人可以帮我这个示例代码.

ruby-on-rails actionmailer link-to mailer

2
推荐指数
1
解决办法
3387
查看次数

StimulusJS 如何在连接时设置实例变量

我正在尝试进入stimulusJS

import { Controller } from 'stimulus'

export default class extends Controller {

  static targets = [
    'foo',
  ]

  connect() {
    const fooValue = this.fooTarget.value
    console.log(this.fooValue) // 7
    this.someFunction()
  }

  someFunction(){
    console.log(this.fooValue) // undefined
  }

}
Run Code Online (Sandbox Code Playgroud)

我希望能够在连接上获取该值,因为我想知道它是否已更改。

javascript stimulusjs

2
推荐指数
1
解决办法
3852
查看次数

如何为 Devise Mailer 电子邮件设置自定义密件抄送/收件人字段?

我想在通过 Devise 发送的所有电子邮件的 to/bcc 标头中包含我用户的名字和姓氏。

我看了这个https://github.com/plataformatec/devise/blob/master/lib/devise/mailers/helpers.rb#L28

似乎 Devise 也像@email在模板中一样分配了 to 字段。我将如何覆盖标头,以便使用 to/bcc 标头发送电子邮件"FirstName LastName <email@example.com>"

ruby-on-rails devise

1
推荐指数
1
解决办法
892
查看次数