0

投稿 :: モデル

class Post < ActiveRecord::Base
  attr_accessible :body, :name, :no, :num
end

(test/fixture/) の下の Posts.yml

one:
  name: MyString
  body: MyString
  no: 1
  num: 2

を実行するとrake test:units、次のスタック トレースが生成されます。

Error:
test_Post_for_correct_attributes(PostTest):
ActiveRecord::StatementInvalid: SQLite3::SQLException: table posts has no column named false: INSERT INTO "posts" ("name", "body", "false", "num", "created_at", "updated_at", "id") VALUES ('MyString', 'MyString', 1, 2, '2012-12-26 10:24:36', '2012-12-26 10:24:36', 980190962)

ここで、テーブル フィールド「no」が「false」に変換されました。(オブジェクト変数としてではなく FALSE として解釈されるため、これは問題のようです)

変数を yaml からオブジェクトに変換する方法に関するバグですか?

Rails のバージョンRails 3.2.9と Rubyruby 1.9.3p194

4

1 に答える 1

0

特にこれは自動生成されるため、Railsはそれを検出できるはずなので、それは私にはバグのように思えます。とにかく、一時的なトレーニングとして、次のものを使用できます。

one:
  name: MyString
  body: MyString
  "no": 1
  num: 2
于 2012-12-26T10:54:07.847 に答える