- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个要求,在这些更改获得批准之前,记录的某些属性更改不会反射(reflect)在用户界面中。此外,如果对 approved
进行更改记录,用户将看到记录,因为它存在于 approval
之前。 .
我的第一次尝试...
是去一个版本控制插件,如 paper_trail
, acts_as_audited
等,并添加 approved
归因于他们的版本模型。这样做不仅使我能够通过记录的版本“回滚”,而且应该允许我区分版本是否已被批准。
一段时间以来,我一直在研究这种思路,而我一直遇到的问题是在用户方面。也就是说,我如何查询 approved
的集合记录?我可以(并尝试)编写一些获取记录集合的辅助方法,然后遍历它们以找到记录的“批准”版本。我对此的主要提示是数据库命中数的增长速度。我的下一次尝试是做如下事情:
Version.
where(:item_type => MyModel.name, :approved => true).
group(:item_type).collect do |v|
# like the 'reify' method of paper_trail
v.some_method_that_converts_the_version_to_a_record
end
some_method...
call 没有访问数据库,我们最终得到了我们感兴趣的数据。我用这个方法遇到的主要问题是我不能使用这个“finder”作为范围。也就是说,我不能在这个查找中附加额外的范围来进一步缩小我的结果。例如,我的记录也可能有
cool
仅显示记录的范围
:cool => true
.理想情况下,我希望将我的记录查找为
MyModel.approved.cool
,但在这里我想我必须得到我的批准模型的集合,然后循环它们以获得
cool
至少会导致在内存中无缘无故地初始化一堆记录。
apply!
(ed) 它只会对实际记录进行这些更改,一切都很好......除了大约 30 分钟,我意识到如果“管理员”希望在批准之前返回并为他的更改做出更多贡献,一切都会崩溃它。我想我唯一的选择是:
最佳答案
怎么样,创建一个关联:
class MyModel < AR::Base
belongs_to :my_model
has_one :new_version, :class_name => MyModel
# ...
end
has_edits
现有对象上的属性,
pending_approval
属性在新的。
objects_pending_edits = MyModel.where("has_edits = true").all
obj.new_version
访问新的编辑。 .如果您真的想减少数据库流量,请立即加载该关联。
关于ruby-on-rails - 记录更改等待特权用户的批准;它就像版本控制与批准相结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6657451/
我想用我的 C# 应用程序创建一个文件夹。我正在写代码,对我来说一切正常,但我的 friend 得到一个错误 Access to the path 'myfolder' is denied. 那我怎么
我遇到了这个非常大的工具,然后深入研究了一些不太漂亮的文档和/或购买了 ebook : 我只想问: Apache Nutch 如何处理 javascript 繁重的网站,以及它如何获取页面? 我的意思
在MySQL中,如何只撤销DROP DATABASE权限,而不撤销DROP TABLE权限? 最佳答案 只需为单个表分配 DROP 权限,而不是为整个数据库分配权限。 关于MySQL DROP DAT
我有一个 bash 脚本可以备份我的数据文件 (~50GB)。脚本基本上是这样的: sudo tar /backup/mydata1 into old-backup-1.tar sudo tar /b
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我在 Google 的 Cloud Composer 上运行 Airflow。我正在使用 KubernetesPodOperator并希望通过 gcsfuse 将谷歌存储桶挂载到 pod 中的目录中.
我需要从客户端机器加载一个 CSV 文件到 MySQL 服务器数据库。我正在尝试 LOAD DATA INFILE。 我的困惑是关于使用所需的访问权限- 加载数据文件- 加载数据本地 INFILE 之
我目前正在尝试在 Amazon Redshift 中创建一个新的只读用户。 我使用的 Redshift 版本是: PostgreSQL 8.0.2 on i686-pc-linux-gnu, comp
我正在尝试将 RackSpace 中的 MySQL 数据库 备份到 AWS。 我听从了这个 blog 的建议并在我的 AWS RDS 控制面板中设置了 log_bin_trust_function_c
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How to force my .NET App to run as administrator on Wi
我是一名优秀的程序员,十分优秀!