0

我有一个带有名为 Events 的表的 Rails 应用程序。创建事件时,名为 maxsynch 的字段设置为“n”。我们使用 Mule 将这些事件拉入另一个应用程序。当它拉动其中一个事件时,它将 maxsynch 设置为“s”。

我想知道是否可以将 maxsynch = "s" 的记录设置为只读。

我在 StackOverflow 上找到了以下代码:

 def create_or_update
  raise ReadOnlyRecord if readonly?
  result = new_record? ? create : update
  result != false
 end

 def readonly?
  new_record? ? false : true
 end

这应该在创建后将记录设置为只读(我认为)。我想先尝试这个来开始测试。然后改代码来定义只读?作为 maxsynch = "s"。

当我将该代码放入事件控制器并尝试更新事件时,我收到以下错误:

uninitialized constant Event::ReadOnlyRecord

从代码行:

     raise ReadOnlyRecord if readonly?
4

1 回答 1

0

如果要引发特定类型的异常,则应创建相应的异常/错误类:

class ReadOnlyRecord < Exception

end

检查http://ruby-doc.org/core-1.9.3/Exception.html

于 2013-04-25T22:57:06.987 回答