0

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)>'
4

1 に答える 1