1
私はActiveRecord APIとhttp://guides.rubyonrails.org/active_record_querying.html#find-or-build-a-new-objectのガイドにあるfirst_or_create関数の使用を開始したいと思います。しかし、Railsはこの機能を認識していないふり:Rails 3.0.7でfirst_or_createが定義されていませんか?
irb(main):017:0> EoWord.where("id = 110")
=> [#<EoWord id: 110, word: "abatino", wordtype: "substantivo", topic: "pregado, homo">]
irb(main):018:0> EoWord.where("word = 'abatino'").first_or_create
NoMethodError: undefined method `first_or_create' for #<ActiveRecord::Relation:0x1ccf578>
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.0.7/lib/active_record/relation.rb:374:in `method_missing'
from (irb):18
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/commands/console.rb:44:in `start'
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/commands/console.rb:8:in `start'
from E:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/commands.rb:23:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
私はWindows環境下でのRails 3.0.7を実行していますよ。あなたの助けが大いにありがとう!
私は同じことを言うつもりだった。 :)あなたが何かの理由でレール3.0.7についていて、それを使いたい場合は、1行の方法です。 –
ありがとう!ガイドページの上部に「このガイドはRails 3.0に基づいています。ここに示すコードの一部は、他のバージョンのRailsでは動作しません」と記載されています。私はRailsのバージョンが間違っているとは考えていませんでした。とにかく、私はアップグレードし、それは動作します。 – Sprachprofi