Я следую за просмотром Ryan Bates Rails 4 в эпизоде 400 Railscasts http://railscasts.com/episodes/400-what-s-new-in-rails-4. Он устанавливает приложение для использования postgres (которое я установил) с демонстрацией hstore. Он создает эшафот, как этотundefined method `hstore 'для активной записи
rails g scaffold article name content:text published_on:date tags properties:hstore
и миграции делает это
execute "create extension hstore"
create_table :articles do |t|
t.string :name
t.text :content
t.date :published_on
t.string :tags, array: true
t.hstore :properties
t.timestamps
end
Однако, когда я запустил эту миграцию я получил неопределенную ошибку метод «hstore». Затем я пошел в мою тестовую базу данных и создал расширение hstore, как вы видите ниже (а не в файл переноса, как сделал Райан)
psql rails4test2_development
psql (9.2.3)
Type "help" for help.
rails4test2_development=# CREATE EXTENSION hstore;
Но я получил ту же ошибку, когда я запускал миграции.
undefined method `hstore' for #<ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::TableDefinition:0x007fa7ee7a9138>/Users/me/Sites/rails4test2/db/migrate/20130511204911_create_articles.rb:9:in `block in change'
/Users/me/Sites/rails4test2/db/migrate/20130511204911_create_articles.rb:4:in `change'
Может ли кто-нибудь помочь мне понять, почему это не работает для меня?
@GoGoGarrett, я не совсем уверен, что на тип ответа вы ожидаете; Быстрый поиск метода столбца 'hstore' или введите следующие два файла, взятые из [Rails 3.2.19] (https://github.com/rails/rails/blob/v3.2.19/activerecord/lib/active_record/connection_adapters /postgresql_adapter.rb) и [Rails 4.2.0beta1] (https://github.com/rails/rails/blob/v4.2.0.beta1/activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb) показывает, что метод не определен в последних Rails 3. – vee