2016-06-27 11 views
0

私は現在、Ruby on Railsアプリケーションを開発中です。 Item型のオブジェクトをいくつか作成しようとしていますが、既に定義されているモデルは見つけることができません。何が間違っているのですか?NameError:初期化されていない定数Item

スニペット:

parse.rake(アプリ/ libに/タスク):

item = Item.create!(id: item_array['id'], path: item_array['path'], type: item_array['type'], lang: item_array['lang'], component: item_array['component'], 
      content: item_array['content'], title: item_array['title'], index: item_array['index'], tags: item_array['tags'], created_at: item_array['created_at'], 
      updated_at: item_array['updated_at'], keyword: item_array['keyword'], description: item_array['description']); 

item.rb(アプリ/モデル)

class Item < ActiveRecord::Base 
    self.table_name = 'my_items' 
    self.primary_key = 'id' 
end 

schema.rb(アプリ/ DB ):

ActiveRecord::Schema.define(version: 20160623145822) do 


create_table 'items', force: :cascade, options: 'ENGINE=InnoDB DEFAULT CHARSET=utf8' do |t| 
    t.string 'path' 
    t.string 'type' 
    t.string 'lang' 
    t.string 'component' 
    t.json  'content' 
    t.string 'title' 
    t.integer 'index' 
    t.json  'tags' 
    t.string 'keyword' 
    t.text  'description', limit: 65535 
    t.datetime 'created_at',    null: false 
    t.datetime 'updated_at',    null: false 
    end 

end 

答えて

2

In class Itemでは、 'my _items 'となりますが、このスキームでは、テーブル' items 'を作成しています。

私はmodel_nameのtable_nameを削除してprimary_keyを変更できると思います。 RoRはデフォルトでテーブル 'items'と主キー 'id'を使用するためです。

+0

ありがとう、それは今動作します。 – fr0styy

関連する問題