小编dor*_*way的帖子

Chrome扩展程序:从popup.js访问background.js的变量

如果我正在使用chrome.extension.getBackgroundPage(),我可以像这样访问background.js的变量:

background.js:

var transfer = 'some text';
Run Code Online (Sandbox Code Playgroud)

popup.js:

chrome.extension.getBackgroundPage().transfer
Run Code Online (Sandbox Code Playgroud)

不过,说我只得到一个窗口对象(但也许之前"窗口"的JavaScript'意味着什么......).如何访问背景变量?

javascript google-chrome-extension

9
推荐指数
1
解决办法
9092
查看次数

Rails迁移中的PostgreSQL点类型

我想使用PostgreSQL中的类型.我弄完了:

rails g model Test point:point
Run Code Online (Sandbox Code Playgroud)

由此产生的迁移是:

class CreateTests < ActiveRecord::Migration
  def change
    create_table :tests do |t|
      t.point :point

      t.timestamps
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

当我跑:

rake db:migrate
Run Code Online (Sandbox Code Playgroud)

结果是:

    ==  CreateTests: migrating ====================================================
    -- create_table(:tests)
    rake aborted!
    An error has occurred, this and all later migrations canceled:

    undefined method `point' for #<ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::TableDefinition:0x000000038991a0>/home/i/Dropbox/programming/ruby/rails_pg_for_tests/db/migrate/20140306151700_create_tests.rb:4:in `block in change'
    /home/i/.rvm/gems/ruby-1.9.3-p448/gems/activerecord-4.0.2/lib/active_record/connection_adapters/abstract/schema_statements.rb:184:in `create_table'
    /home/i/.rvm/gems/ruby-1.9.3-p448/gems/activerecord-4.0.2/lib/active_record/migration.rb:625:in `block in method_missing'
    /home/i/.rvm/gems/ruby-1.9.3-p448/gems/activerecord-4.0.2/lib/active_record/migration.rb:597:in `block in say_with_time'
...
Run Code Online (Sandbox Code Playgroud)

可能是我需要安装PostGIS,但我不明白,如果我在PostgreSQL中有点类型.我只需要存储纬度和经度,没有任何其他选择.

如何使用此点类型或在这种情况下使用哪种更好?

谢谢.

ruby postgresql ruby-on-rails ruby-on-rails-4

5
推荐指数
3
解决办法
4030
查看次数