Rails 4 ベータ版アプリ (Ruby 2) を持っていますが、理解できないエラーが発生します。
ActiveRecord::Base から継承しているにもかかわらず、モデル クラスに「create」メソッドがないため、いくつかの仕様が失敗しています。エラー メッセージは、私のクラスをモジュール ( undefined method 'create' for Topic:Module
) と呼んでいますが、これは奇妙に思えます。
仕様/モデル/topic_spec.rb:
require "spec_helper"
describe Topic do
it "should create a new topic given valid attributes" do
Topic.create!({:created_by_id => 1, :title => "Test" })
end
end
アプリ/モデル/topic.rb
class Topic < ActiveRecord::Base
include ActiveModel::ForbiddenAttributesProtection
validates :title => :presence => ture
validates :created_by_id => :presence => true
end
エラーメッセージ:
$ rspec spec/models/topic_spec.rb
F
Failures:
1) Topic should create a new topic given valid attributes
Failure/Error: Topic.create!({:created_by_id => 1, :title => "Test" })
NoMethodError:
undefined method `create' for Topic:Module
# ./spec/models/topic_spec.rrc:15:in `block (2 levels) in <top (required)>'