id を明示すればよいです。
test/fixtures/user.yml を編集します。
`
one:
id: 1
name: samplename1
showflg: 1
two:
id: 2
name: samplename2
showflg: 1
fixture を load しなおして、rails console で値を確認してみます。
$ rake db:fixtures:load
$ rails c
Loading development environment (Rails 4.1.5)
irb(main):001:0> User.all
User Load (1.5ms) SELECT "users".* FROM "users"
=> #<ActiveRecord::Relation [#<User id: 1, name: "samplename1", showflg: 1, created_at: "2014-08-21 17:13:18", updated_at: "2014-08-21 17:13:18">, #<User id: 2, name: "samplename2", showflg: 1, created_at: "2014-08-21 17:13:18", updated_at: "2014-08-21 17:13:18">]>
irb(main):002:0> exit
`
ここでは、 DB の中身をみるのを sqlite のクライアントではなく rails の consile で確認してみました。
id を指定しなかった場合は、レコード名 (one や two) の ハッシュ値が id の値としてつかわれます。多分...)
参考情報:
yml ファイルは erb で記述することが可能です。
例えば次のようにか欠く事ができます。
<% (10..12).to_a.each do |idx| %> <%= "DATA_#{idx}" %>: id: <%= idx %> name: <%= "samplename#{idx}" %> showflg: <%= idx * 100 %> <% end %>
fixteurs:load しなおして、 rails c で User.all を表示させると、次のようになるはずです。
User Load (1.6ms) SELECT "users".* FROM "users" => #<ActiveRecord::Relation [#<User id: 10, name: "samplename10", showflg: 1000, created_at: "2014-08-21 17:40:09", updated_at: "2014-08-21 17:40:09">, #<User id: 11, name: "samplename11", showflg: 1100, created_at: "2014-08-21 17:40:09", updated_at: "2014-08-21 17:40:09">, #<User id: 12, name: "samplename12", showflg: 1200, created_at: "2014-08-21 17:40:09", updated_at: "2014-08-21 17:40:09">]>
実際の yml がどうなっているかは、次のようにして確認できます。
`
$ erb test/fixtures/users.yml
DATA_10:
id: 10
name: samplename10
showflg: 1000
DATA_11:
id: 11
name: samplename11
showflg: 1100
DATA_12:
id: 12
name: samplename12
showflg: 1200
`
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/08/22 12:15