小编vin*_*nce的帖子

如何在 Heroku 上的 Rails 6 应用程序上设置 RAILS_PRODUCTION_KEY 配置变量

我创建了一个新的 Rails 6 应用程序,因为它支持多环境凭据我正在尝试使用RAILS_PRODUCTION_KEY配置变量并删除默认值RAILS_MASTER_KEY

heroku config:unset RAILS_MASTER_KEY 
heroku config:set RAILS_PRODUCTION_KEY=`cat config/credentials/production.key`
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,我能够在设置RAILS_MASTER_KEY为生产密钥后使其工作

heroku config:unset RAILS_PRODUCTION_KEY
heroku config:set RAILS_MASTER_KEY=`cat config/credentials/production.key`
Run Code Online (Sandbox Code Playgroud)

如何让 HerokuRAILS_PRODUCTION_KEY在 Rails 6 应用程序中识别?

heroku ruby-on-rails-6

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

有人能帮我理解 alias_method 在这段代码中的作用吗

我无法理解此代码中 alias_method 的用途

ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.class_eval do
  alias_method :configure_connection_without_interval, :configure_connection
  define_method :configure_connection do
    configure_connection_without_interval
    execute('SET intervalstyle = iso_8601', 'SCHEMA')
  end
end
Run Code Online (Sandbox Code Playgroud)

他们调用的第 4 行的目的是什么configure_connection_without_interval——这不就是自称吗?

下面的代码对我有用,但我不完全知道我在做什么,我担心它以后会产生错误

ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.class_eval do
  define_method :configure_connection do
    execute('SET intervalstyle = iso_8601', 'SCHEMA')
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby

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

如何使用属性 API 设置虚拟属性的默认值

属性 API 允许我像这样设置默认值

class Enrollment < ActiveRecord::Base
  attribute :end_time, :datetime, default: -> { Time.now }
end
Run Code Online (Sandbox Code Playgroud)

是否可以根据模型中的列设置默认值?以下不起作用

class CreateEnrollments < ActiveRecord::Migration[6.0]
  def change
    create_table :enrollments do |t|
      t.datetime :starts_at
    end
  end
end

class Enrollment < ActiveRecord::Base
  attribute :end_time, :datetime, default: -> { starts_at.nil? ? Time.now : starts_at + 1.hour }
end
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails rails-activerecord

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

将Resque与Redis To Go一起用于后台任务有什么意义

如果将诸如调用外部服务(例如发送电子邮件)之类的任务发送到后台任务和工作人员从主应用程序中删除耗时的任务这一点,我不明白为什么使用Resis with Redis To Go是一个好主意.是不是Redis To Go本身就是一个外部服务,在这种情况下不会破坏目的,因为在Redis To Go上存储队列的键/值将是不可预测的并且本身可能耗费时间?

编辑

我感到困惑的原因是我没有设置任何工作人员并且Redis To Go上的Resque生成了队列(显然操作正在等待因为没有工人).所以我认为这意味着最初的Redis To Go写入是由主线程完成的.

ruby-on-rails heroku redis

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

Action Mailer 中是否可以转发邮件对象

目前,我们允许用户互相发送电子邮件,而无需看到彼此的实际电子邮件地址(双盲),方法是让他们将电子邮件发送到username@parse.example.com效果很好的地址。

class ForwardsMailbox < ApplicationMailbox
  before_processing :ensure_users
 
  def process
    content = mail.multipart? ? mail.parts.first.body.decoded : mail.decoded
    UserMailer.with(sender: sender, recipient: recipient, subject: mail.subject, content: content).forward_email.deliver_later
  end
 
  private 
  def sender
    @sender ||= User.find_by(email: mail.from.first)
  end
  def recipient
    @recipient ||= User.find_by(username: mail.to.first.split('@').first)
  end
  def ensure_users
    bounce_with UserMailer.invalid_user(inbound_email) if sender.nil? or recipient.nil?
  end
end
Run Code Online (Sandbox Code Playgroud)

是否可以转发整个mail对象而不是提取其内容、检查它是否是多部分等?

email ruby-on-rails actionmailer action-mailbox

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

如何在没有滚动条的情况下在 Tailwind 中创建可滚动元素

我正在尝试像这个例子一样重新创建一个带有顺风的水平滚动导航栏,底部没有滚动条(减少屏幕的宽度以便能够滚动)

https://getbootstrap.com/docs/5.0/examples/blog/

我使用 Tailwind 尝试了以下操作,但我无法弄清楚如何删除与上面的引导程序示例类似的水平滚动条。有人可以帮忙吗?

<ul class="flex overflow-x-auto whitespace-nowrap p-4">
  <li><a href="/" class="p-2">Nav Item</a></li>
  <li><a href="/" class="p-2">Nav Item</a></li>
  <li><a href="/" class="p-2">Nav Item</a></li>
  <li><a href="/" class="p-2">Nav Item</a></li>
  <li><a href="/" class="p-2">Nav Item</a></li>
  <li><a href="/" class="p-2">Nav Item</a></li>
  <li><a href="/" class="p-2">Nav Item</a></li>
  <li><a href="/" class="p-2">Nav Item</a></li>
  <li><a href="/" class="p-2">Nav Item</a></li>
  <li><a href="/" class="p-2">Nav Item</a></li>
  <li><a href="/" class="p-2">Nav Item</a></li>
  <li><a href="/" class="p-2">Nav Item</a></li>
  <li><a href="/" class="p-2">Nav Item</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

css bootstrap-4 tailwind-css bootstrap-5

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

如何使用符号查询比较运算符

我目前可以做到这一点

Enrollment.where('starts_at < ?', Time.current)
Run Code Online (Sandbox Code Playgroud)

因为我可以做到这一点

Enrollment.where(starts_at: Time.current)
Run Code Online (Sandbox Code Playgroud)

有没有办法对比较运算符使用相同的格式?我认为其中之一会起作用,但它们不起作用

Enrollment.where(starts_at: "< #{Time.current}")
Run Code Online (Sandbox Code Playgroud)

或者

Enrollment.where('starts_at <': Time.current)
Run Code Online (Sandbox Code Playgroud)

能够做这样的事情真的很棒

Enrollment.where(state: :active, 'starts_at <': Time.current)
Run Code Online (Sandbox Code Playgroud)

postgresql activerecord ruby-on-rails ruby-on-rails-6

0
推荐指数
2
解决办法
76
查看次数