Ruby on rails 3 Rails:属于表上的列
我在看fb_graph api gem,它在迁移中有一些代码我想不出来,也就是说,对于列类型,它有Ruby on rails 3 Rails:属于表上的列,ruby-on-rails-3,facebook-graph-api,Ruby On Rails 3,Facebook Graph Api,我在看fb_graph api gem,它在迁移中有一些代码我想不出来,也就是说,对于列类型,它有属于,这不是典型的列类型 class CreateSubscriptions < ActiveRecord::Migration def self.up create_table :subscriptions do |t| t.belongs_to :facebook t.string :object, :fields, :verify_token
属于
,这不是典型的列类型
class CreateSubscriptions < ActiveRecord::Migration
def self.up
create_table :subscriptions do |t|
t.belongs_to :facebook
t.string :object, :fields, :verify_token
t.text :history_json
t.timestamps
end
end
def self.down
drop_table :subscriptions
end
end
这里有一个指向Facebook.rb模型的链接
Facebook.rb
class Facebook < ActiveRecord::Base
has_many :subscriptions
def profile
@profile ||= FbGraph::User.me(self.access_token).fetch
end
class << self
extend ActiveSupport::Memoizable
def config
@config ||= if ENV['fb_client_id'] && ENV['fb_client_secret'] && ENV['fb_scope'] && ENV['fb_canvas_url']
{
:client_id => ENV['fb_client_id'],
:client_secret => ENV['fb_client_secret'],
:scope => ENV['fb_scope'],
:canvas_url => ENV['fb_canvas_url']
}
else
YAML.load_file("#{Rails.root}/config/facebook.yml")[Rails.env].symbolize_keys
end
rescue Errno::ENOENT => e
raise StandardError.new("config/facebook.yml could not be loaded.")
end
def app
FbGraph::Application.new config[:client_id], :secret => config[:client_secret]
end
def auth(redirect_uri = nil)
FbGraph::Auth.new config[:client_id], config[:client_secret], :redirect_uri => redirect_uri
end
def identify(fb_user)
_fb_user_ = find_or_initialize_by_identifier(fb_user.identifier.try(:to_s))
_fb_user_.access_token = fb_user.access_token.access_token
_fb_user_.save!
_fb_user_
end
end
end
class-FacebookENV['fb_client_secret'],
:scope=>ENV['fb_scope'],
:canvas\u url=>ENV['fb\u canvas\u url']
}
其他的
YAML.load_文件(“#{Rails.root}/config/facebook.yml”)[Rails.env]。符号化_键
结束
救援错误号::enoint=>e
raise StandardError.new(“无法加载config/facebook.yml。”)
结束
def应用程序
FbGraph::Application.new配置[:client\u id],:secret=>config[:client\u secret]
结束
def auth(重定向_uri=nil)
FbGraph::Auth.new config[:client\u id],config[:client\u secret],:redirect\u uri=>redirect\u uri
结束
def标识(fb_用户)
_fb_user_uu=通过_标识符(fb_user.identifier.try(:to_s))查找或初始化_
_fb\u用户\u.access\u令牌=fb\u用户.access\u令牌.access\u令牌
_fb\u用户\保存!
_fb_用户_
结束
结束
结束
你有很多问题一个问题,关于的问题属于
,你可以在这里找到答案:
class Facebook < ActiveRecord::Base
has_many :subscriptions
def profile
@profile ||= FbGraph::User.me(self.access_token).fetch
end
class << self
extend ActiveSupport::Memoizable
def config
@config ||= if ENV['fb_client_id'] && ENV['fb_client_secret'] && ENV['fb_scope'] && ENV['fb_canvas_url']
{
:client_id => ENV['fb_client_id'],
:client_secret => ENV['fb_client_secret'],
:scope => ENV['fb_scope'],
:canvas_url => ENV['fb_canvas_url']
}
else
YAML.load_file("#{Rails.root}/config/facebook.yml")[Rails.env].symbolize_keys
end
rescue Errno::ENOENT => e
raise StandardError.new("config/facebook.yml could not be loaded.")
end
def app
FbGraph::Application.new config[:client_id], :secret => config[:client_secret]
end
def auth(redirect_uri = nil)
FbGraph::Auth.new config[:client_id], config[:client_secret], :redirect_uri => redirect_uri
end
def identify(fb_user)
_fb_user_ = find_or_initialize_by_identifier(fb_user.identifier.try(:to_s))
_fb_user_.access_token = fb_user.access_token.access_token
_fb_user_.save!
_fb_user_
end
end
end