1

将此添加到我的Alternative-model 后,我遇到了一个奇怪的错误:

default_scope order(:number)

在第一页刷新时,一切正常。在随后的刷新中,我得到

NoMethodError in Pages#show 
undefined method `written?' for #<Alternative:0x10455c558>

Alternative肯定有written?方法。我正在运行乘客,所以经过

touch tmp/restart.txt

该页面再次工作。对于第一次刷新。但是错误消息再次出现在随后的刷新中。删除default_scope解决了问题(但仅在另一台服务器重新启动后)。

编辑:通过 WEBrick 在 WEBrick 上运行时也存在该错误rails server,因此它未连接到乘客。

编辑: written?Alternative. 尝试访问通过 获得的方法时也会出现该错误has_many,如下所示:

has_many :restrictions

alternative.restrictions.empty? # => NoMethodError

还有其他人default_scope在 Rails 3 中遇到问题吗?或者有解决办法吗?谢谢!

4

2 回答 2

1

我没有遇到过奇怪的问题default_scope,但我确实发现在当前 Rails 3 HEAD 的开发模式下,Passenger 没有正确地重新加载代码——导致像你遇到的那样令人费解的断言。

如果您只运行“rails server”,它是否有效?

于 2010-07-14T14:16:24.440 回答