加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 用于Active Record的未定义方法`hstore’

发布时间:2020-12-17 02:34:30 所属栏目:百科 来源:网络整理
导读:我正在跟随Ryan Bates在Railscasts http://railscasts.com/episodes/400-what-s-new-in-rails-4第400集中预览Rails 4.他设置应用程序以使用postgres(我已安装)和hstore演示.他创造了这样一个脚手架 rails g scaffold article name content:text published_on
我正在跟随Ryan Bates在Railscasts http://railscasts.com/episodes/400-what-s-new-in-rails-4第400集中预览Rails 4.他设置应用程序以使用postgres(我已安装)和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扩展,如下所示(而不是像Ryan那样在迁移文件中)

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'

任何人都可以帮助我理解为什么这对我不起作用?

解决方法

问题是,即使我安装了Rails 4 gem,该应用程序仍在使用Rails 3.2,它本身不支持hstore.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读