即使 some_field 属性未更改(如果其他字段已更改),似乎 validates_uniqueness_of :some_field 也会在“保存”时运行。这看起来很浪费,因为每个 validates_uniqueness_of 都需要一个数据库调用。我知道我可以将 Proc 传递给 validates_uniqueness_of 以检查 some_field 是否已更改,并且我正在考虑进行所有验证并尽可能执行此操作。我想知道的是:
1) 对性能感兴趣的人通常会这样做吗?
2)为什么不是validates_uniqueness_of的默认行为先检查属性是否改变了?
3) 对未更改的属性运行此类验证是否有充分的理由?
我正在使用 Rails 2.3(目前 - 我们正在升级)。我不知道这与 Rails 3 中的情况相同。
有没有办法使用ruby电子表格gem来生成一个包含文本包装的单元格的电子表格?(如果没有,还有其他方法吗?)
谢谢, - 保罗
ps为了回应两个很好的建议,遗憾的是这对我不起作用,我应该注意:1)我目前无法将我的ruby应用程序转换为JRuby.2)我正在开发Linux,而不是Windows.
有没有办法找出当前版本的rails 2.3是什么?现在Ruby on Rails页面上有一个关于2.3.11的博客文章的链接,但我想在经过几篇不再存在的博客文章之后.我试图用"gem"命令找到一种方法,但没有看到它.如果我运行"gem update rails"我没有任何选择 - 它只是将我更新为rails 3.0.4,我还没准备好.我可以做"gem install -v 2.3.11 rails",但这假设我知道当前的版本是什么.此外,在rails网站上,有一个指向rubyforge页面的链接,您可以在其中下载gem文件,但最新版本有2.3.4,所以没有帮助.
我正在尝试使用bash读取文件的一部分并停止和特定行.我对bash不是很熟悉,但我一直在阅读手册和各种参考资料,我不明白为什么类似下面的东西不起作用(但会产生语法错误):
while { read -u 4 line } && (test "$line" != "$header_line")
do
echo in loop, line=$line
done
Run Code Online (Sandbox Code Playgroud)
我想我可以写一个测试"完成"变量的循环,然后在循环中进行我的实际测试并适当地设置"完成",但我很好奇1)为什么以上不起作用,2)是有一些小的修正可以使它工作?我仍然相当困惑何时使用[,(,{,或((因此,或许其他一些组合可能会起作用,尽管我已尝试了几种.
(注意:当我在循环上面调用它时,"read -u 4 line"工作正常.我在文件描述符4上打开了一个文件.)