有谁知道配置的方法?还是另一种DB查询优化技术?
我使用Rails 4.1.8与RailsAdmin 0.6.8和Mongoid 4.0.2
我正在运行 Rails 4.2.8,我想让我的工作只在某些条件下运行。目前我正在检查调用作业的代码,但在作业类中包含逻辑会更清晰。有没有人这样做过?
class MyJob < ApplicationJob
before_enqueue do |job|
# check and stop job from being enqueued under certain conditions
end
def perform(args*)
# code here
end
end
Run Code Online (Sandbox Code Playgroud)
我使用 Sidekiq 4.2.10 作为后台作业适配器。
有谁知道最新的 5.0 版本的 Mongoid gem 是否支持$lookup?
没有提到mongoid 文档。
我目前正在使用带有CanCanCan 1.13.1的Rails 4.1.14,并在模型/记录级别上定义了细化权限.管理员可以管理所有文章,但用户只能编辑他们撰写的文章.
为了防止普通用户编辑特定字段,我根据角色在rails_admin中显示字段.
visible do
bindings[:object].id == bindings[:view].current_user.roles.include? :admin
end
Run Code Online (Sandbox Code Playgroud)
我也使用https://github.com/aasm/aasm gem并创建自定义操作,以便用户可以将记录移动到新状态.
但我真正想要的是根据用户的角色/记录启用字段级权限.我在CanCanCan或https://github.com/elabs/pundit页面上找不到任何文档.
有人有经验吗?
假设我有两个使用 Rails 单表继承的模型。我可以轻松地在子模型中添加验证以使某些字段成为必需的。但是,如果我想要更改验证,使子模型中的字段可选或具有不同的标准(例如数字),该怎么办?
class Parent
include Mongoid::Document
field :name, type: String
field :age, type: Integer
validates :name, presence: true
validates :age, numericality: { greater_than_or_equal_to: 25 }
end
class Child < Parent
# how can I make name optional in Child?
validates :age, numericality: { less_than: 25 }
end
Run Code Online (Sandbox Code Playgroud)
我可以通过创建自定义验证方法,然后在子类中覆盖它们来完成,但我希望有一种方法可以仅使用默认的 Rails 验证器格式来做到这一点。
rails-admin ×2
activemodel ×1
cancancan ×1
devise ×1
mongodb ×1
mongoid ×1
pundit ×1
redis ×1
sidekiq ×1
validation ×1