我正在编写一个Rails应用程序,用于“搜索/导航”其他一些网站和网络服务以获取内容。我正在使用Mechanize和Savon进行重击。
但考虑到网络的动态特性,我想让网站的管理员用户可以编辑这些内容,而不是要求我发布网站的新版本。
实际的抓取线程使用daemons gem与网站异步发生。
我的要求是:
我在想我的选择是:
我认为git路线可能最简单,因为它的存在理由是跟踪文件历史... 但也许有一个宝石/插件可以为我完成所有这些,开箱即用?
提前感谢任何提示/建议。 〜克里斯
答案 0 :(得分:1)
如果您的网站已经受到源代码管理,并且如果您在mod_rails / passenger下运行,则可以按照以下步骤操作:
touch yourapp/tmp/restart.txt
应该为您提供更改历史记录,您不必重新部署。
更安全,但不确定您是否可以在测试/开发服务器上 :进行更改,在本地提交,测试,然后在生产服务器上,git pull
然后touch tmp/restart.txt
答案 1 :(得分:1)
我真的希望你没有做what's talked about here ...
之类的事情假设你正在做一个合适的mixin,曾经有一个叫做“acts_as_versioned”的宝石会做你想做的事情。已经有一段时间了,所以我不知道它是否已经变成了插件,或者它是否被放弃了。基本上它使用的过程是为您的版本化表提供组合键。
您的数据库将具有以下结构:
假设你有一个脚本表,你想要的脚本有三个版本。您的表格将包含以下记录:
获取最新版本就像
一样简单Scripts.find:first,:conditions => {:id => 123},:order =>“version desc”
回滚就像删除最新版本一样简单,或者让另一个表格指向活动版本。这取决于你。
你的身份正确git
,subversion
,mercurial
,公司在这方面要好得多。要提供支持,您只需按照以下步骤操作:
答案 2 :(得分:1)