1

モデル投票があります。投票にはvote_type属性があります。私のコントローラーではこれを行います

 @vote = Vote.fetch(1)
 logger.warn("current vote_type: #{@vote.vote_type}")
 @vote.vote_type = false 
 @vote.save

これはエラーをスローしませんが、サーバーに次のように表示されます

    Vote Columns (0.7ms)   SHOW FIELDS FROM `votes`
    current vote_type: true
    SQL (0.1ms)   BEGIN
    SQL (0.1ms)   ROLLBACK

なぜロールバックしているのかわかりません。私は何が間違っているのですか?

4

2 に答える 2

1

Rails の一般的な問題は、ブール値の 'validate_presence' を試みることです。その検証は .blank を使用しますか? および false.blank => true。したがって、ブール値の存在を検証するには、次を使用します。

validates :vote_type, :inclusion => {:in => [true, false]}
于 2011-08-24T23:27:26.483 に答える
1

フィールドが「値を持つことができない」場合 (これは false です)、必要な => true を元の移行から削除し、そのテーブル/データベースを再作成します (または、必要な設定を削除する新しい移行を作成します)。

于 2011-08-24T23:40:31.520 に答える