Ruby on rails 我如何让记录器在IRB工作?
我试图在IRB工作,以了解我在网上找到的一些代码 我可以要求一个最终导入此文件的文件:Ruby on rails 我如何让记录器在IRB工作?,ruby-on-rails,ruby,irb,Ruby On Rails,Ruby,Irb,我试图在IRB工作,以了解我在网上找到的一些代码 我可以要求一个最终导入此文件的文件: module LinkedIn module Api logger.debug "....7" module QueryMethods logger.debug "....6" def profile(options={}) logger.debug "....1" path = person_path(options)
module LinkedIn
module Api
logger.debug "....7"
module QueryMethods
logger.debug "....6"
def profile(options={})
logger.debug "....1"
path = person_path(options)
simple_query(path, options)
end
def connections(options={})
path = "#{person_path(options)}/connections"
simple_query(path, options)
end
def network_updates(options={})
path = "#{person_path(options)}/network/updates"
simple_query(path, options)
end
def company(options = {})
path = company_path(options)
simple_query(path, options)
end
def test(options = {})
logger.debug "helllllooooo"
end
private
logger.debug "....2"
def simple_query(path, options={})
logger.debug "....3"
fields = options.delete(:fields) || LinkedIn.default_profile_fields
if options.delete(:public)
path +=":public"
elsif fields
path +=":(#{fields.map{ |f| f.to_s.gsub("_","-") }.join(',')})"
end
headers = options.delete(:headers) || {}
params = options.map { |k,v| "#{k}=#{v}" }.join("&")
path += "?#{params}" if not params.empty?
Mash.from_json(get(path, headers))
end
def person_path(options)
logger.debug "....4"
path = "/people/"
if id = options.delete(:id)
path += "id=#{id}"
elsif url = options.delete(:url)
path += "url=#{CGI.escape(url)}"
else
path += "~"
end
end
def company_path(options)
path = "/companies/"
if id = options.delete(:id)
path += "id=#{id}"
elsif url = options.delete(:url)
path += "url=#{CGI.escape(url)}"
elsif name = options.delete(:name)
path += "universal-name=#{CGI.escape(name)}"
elsif domain = options.delete(:domain)
path += "email-domain=#{CGI.escape(domain)}"
else
path += "~"
end
end
end
end
end
这段代码是LinkedIn的包装,我在这里找到了它:
它大部分是现成的,但这个测试位是我的:
def test(options = {})
logger.debug "helllllooooo"
end
我在本地复制了这些文件,在IRB中我可以执行一些命令,但由于某些原因,我不能执行类似于client.test
的操作,而我可以执行类似于client.profile
的操作
此外,没有任何调试语句显示在IRB中。我必须用某种标志启动IRB才能看到调试吗?记录器是rails的一部分 irb只是一个ruby命令行解释器 使用“rails控制台”获得运行rails基础设施的命令行界面 在使用irb时,使用puts替代记录器 编辑 如果你想在irb中运行这段代码,你将一事无成,相反,把你的文件复制到你的app/lib,然后执行一个 轨道控制台 现在RAILS已经启动了,但是有了一个命令行界面,然后再试一次 包括LinkedIn::Api::QueryMethods 试验
现在您也可以使用logger.debug查找同一问题的答案,我尝试了这个方法,我在网上的某个地方找到了它,它成功了:
2.0.0-p353 :020 > ActiveRecord::Base.logger.debug "your whatever text"
谢谢-如果我用put语句替换记录器,它应该会显示调试语句?谢谢lol…因为我刚刚用put尝试了它,这就解释了为什么put不起作用:)虽然我只是用put尝试了它,但同样不起作用:)当我试着调用我做的测试时,我得到一个错误:NoMethodError:private方法“test”调用了#from(irb):4