我要求在对这些更改进行批准之前,对记录的某些属性更改不会反映在用户界面中.此外,如果对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
Run Code Online (Sandbox Code Playgroud)
因此,假设some_method...
调用没有访问数据库,我们最终得到了我们感兴趣的数据.我遇到的主要问题是我不能使用这个"finder"作为范围.也就是说,我无法在此查找中添加其他范围以进一步缩小我的结果范围.例如,我的记录也可能cool
只有显示记录的范围:cool => true
.理想情况下,我想查看我的记录MyModel.approved.cool
,但在这里我想我必须得到我的批准模型的集合,然后循环它们cool
将导致至少在内存中初始化一堆记录没理由.
我的下一次尝试......
涉及创建一种特殊类型的"待处理记录",它基本上有助于记录的"潜在"变化.因此,在用户端,您可以像往常一样查找任何您想要的内容.每当一个待处理的记录被apply!
编辑时,它只会对实际记录进行那些更改,并且一切都很好...... 除了大约30分钟之外,我意识到如果"管理员"希望返回并贡献更多,这一切都会崩溃在批准之前对他的改变.我想我唯一的选择是:
强制管理员批准所有更改,然后再制作其他更改(这不会很好...也不应该).
尝试从"待处理记录"模型中读取更改并将其应用于现有记录而不保存.关于这个想法的东西听起来并不是很"正确".
我喜欢在这个问题上某人的输入.我已经和它搏斗了一段时间,我似乎无法找到感觉正确的方式.我喜欢生活在"如果它难以理解它,你可能做错了"的口头禅.
这是踢我的尾巴......
今天我发现了一个奇怪的行为,我希望我可以得到一些方向.
至少有一个进程已在后台运行,我中断(Ctrl+ Z)前台进程,然后将其放在后台bg
.
zsh
:$ some-long-running-command
^Z
zsh: suspended some-long-running-command
$ bg
[2] - continued some-long-running-command
$ jobs
[1] + running other-command-previously-run
[2] - running some-long-running-command
$
Run Code Online (Sandbox Code Playgroud)
bash
:$ other-command-previously-run &
[1] 12345
$ some-long-running-command
^Z
[2]+ Stopped some-long-running-command
$ bg
[2]+ some-long-running-command &
$ jobs
[1]- Running other-command-previously-run &
[2]+ Running some-long-running-command &
$
Run Code Online (Sandbox Code Playgroud)
那么为什么bash
将进程保留在后台bg
作为"当前"进程(用"+"表示,如果fg
运行则将恢复),同时zsh
将"其他"进程设置为当前进程?我找不到任何文件表明行为会有所不同......有趣的是,如果你做了几个fg
+ ^Z
+ bg
in …
在[rails]项目上工作,我开始玩RSS解析.我注意到那里有很多饲料解析器,不同的人有他们的偏好.当然,我看的第一个地方之一是http://ruby-toolbox.com/categories/rss_feed_parsing.html.
Feedzirra似乎是我读过的最多的选择,但我注意到它看起来有点陈旧.我不一定有问题.哎呀,如果他把它撞出公园,它就消失了:).
为此,我很快找到了Ruby Standard Library RSS.我的第一个想法是"好吧,如果它内置到图书馆,它可能是我正在寻找的......"我的第二个想法是"垃圾是文件的哪里?"
那么,我从哪里开始呢?我知道,对于一个问题,往往没有石头设定的正确答案,问题的细节可以决定最佳答案......
什么是当前接受的事实RSS解析库?如果它不是库中的构建,为什么?我很想听到想法并获得洞察力......也许我在网上严重忽视了一些信息......
PS我没有错过Ruby RSS.它似乎没有足够的信息......