0

デバイスを作成するフォームがあります。渡すキャビネットが存在することを確認したい。デバイスモデルには、次のものがあります。

validates_presence_of :cabinet_id, :message => 'Please enter full cabinet name beginning with data center code'

コントローラーは、キャビネットを操作して、キャビネットに空きがあるかどうかを判断します。これにより、キャビネットの属性を使用しようとするため、キャビネットが存在しない場合にアプリがクラッシュします。

操作を実行しようとする前に、キャビネットが存在しないことをユーザーに警告するフォームを取得するにはどうすればよいですか?

4

1 に答える 1

0

モデルコードの残りの部分を見ないとちょっと難しいですが、「キャビネットでの操作」を条件付きでラップすることをお勧めします。if cabinet_id.present? (do stuff) end

操作がカスタム検証の場合は、条件付きにします。validate :space_in_cabinet, if: :cabinet_id.

于 2013-05-13T14:06:28.213 に答える