0

Events というテーブルを持つ Rails アプリケーションがあります。イベントが作成されると、maxsynch というフィールドが「n」に設定されます。Mule を使用して、これらのイベントを別のアプリケーションに取り込みます。イベントの 1 つをプルすると、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 に答える