从调试的Rails指南,我发现我可以使用这个简单的方法自定义输出到我的日志文件:
logger.debug "Person attributes hash: #{@person.attributes.inspect}"
Run Code Online (Sandbox Code Playgroud)
我决定使用它来跟踪变量如何变化并通过流量控制.
我希望能够看到logger#debug调用方法的代码的行号.像这样的东西:
logger.debug "Person attributes hash: #{@person.attributes.inspect} from line #{LINE_NUMBER_VAR}"
Run Code Online (Sandbox Code Playgroud) 我想使用简单的文本编辑器和Markdown做课堂笔记。有没有一种方法可以标记文本元素以使其易于阅读?
例如,我想将某些单词和短语标记为“定义”。然后,我可以运行某种脚本来显示单词及其相应的定义。
我想调试我的Rails应用程序使用RestClient进行的请求.RestClient文档说:
要启用日志记录,您可以
使用ruby Logger设置RestClient.log或设置环境变量以避免修改代码(在这种情况下,您可以使用文件名"stdout"或"stderr"):
$ RESTCLIENT_LOG = stdout path/to/my/program生成这样的日志:
RestClient.get" http:// some/resource "
=> 200 OK | text/html 250个字节
RestClient.put" http:// some/resource ","payload"
=> 401未经授权| application/xml 340字节
请注意,这些日志是有效的Ruby,因此您可以将它们粘贴到restclient shell或>脚本中以重放您的休息调用序列.
如何将这些日志包含在我的Rails应用程序日志文件夹中?
我正在用Rails构建一个简单的聊天应用程序.当用户键入url时,我希望将其输出为html链接(即"url").
我想知道是否有任何库或众所周知的方法在Ruby中执行此操作.如果没有,我有一些像样的正则表达式示例代码可以使用...
我要提交大量新文件.点击git gui(Windows)中的每一个到舞台都很烦人.
我怎样才能一次提交一大堆文件?
我最近在OSX Lion上设置了开发/登台/生产环境。我有一个带有开发和master分支的git repo,以及一个具有master和staging起源的Heroku实例。
基本的工作流程是在开发分支中进行开发,并合并到母版中,部署到阶段,然后最终部署到生产。
当我不在任何不是master的分支中,或者至少显示警告时,我想阻止Heroku部署(例如,“您要继续吗?是/否”)。
这可能吗?是否有git或Heroku功能可以简化此操作,还是我需要编写bash脚本?
我一直非常喜欢用Pry开发Ruby应用程序.我还看到了一个名为pry -remote的Pry插件,它允许你设置一个Drb服务器来远程访问Pry会话.README中的pry-remote概要是有道理的,我在本地运行没有问题.但是,我如何使用它来允许同事在他/她的终端中访问相同的Pry会话?
如果可能的话,我想要的API就像localtunnel:
在电脑1上:
$ ruby main.rb
[pry-remote] Waiting for client on druby://127.0.0.1:9876
$ drblocaltunnel 9876
share this url:
http://xyz.drblocaltunnel.com
Run Code Online (Sandbox Code Playgroud)
在电脑2上:
$ drblocaltunnel login -url http://xyz.drblocaltunnel.com
Frame number: 0/4
From: /programming/drb/main.rb @ line 5 Foo#initialize:
4: def initialize(x, y)
=> 5: binding.remote_pry
6: end
Run Code Online (Sandbox Code Playgroud) 我刚刚开始训练 Spacy 命名实体识别模型,并遵循此处描述的基本示例,您可以通过实例Doc化对象并使用DocBin.
我的自定义preprocess.py文件如下所示:
if __name__ == '__main__':
nlp = spacy.blank("en")
counter = 0
db = DocBin()
with open(sys.argv[1], 'r') as fp:
line = fp.readline()
while line:
record = MyRecord.build(json.loads(line))
doc = record.to_spacy_doc(nlp=nlp)
# internally, something like:
# # char-level indices
# ent = doc.char_span(0, 5, label='SOMETHING')
# doc.set_ents([ent])
db.add(doc)
counter += 1
# hacky way to save 1000 docs in each DocBin
if counter == 1000:
db.to_disk("./train.spacy")
db = DocBin()
if …Run Code Online (Sandbox Code Playgroud) 我刚刚通过Pusherapp 的问候世界.现在我想创建私有通道,以便用户只读取他们应该阅读的消息.
Pusher的文档只提供了一些如何做到这一点的细节,我有点迷茫.
来自文档:
...当Pusher JS库连接到Pusher时返回一个socket_id.
当它尝试订阅私有通道时,它会以channel_name和socket_id作为参数向服务器发回AJAX请求.
此默认URL为 http://yourserver.com/pusher/auth....
class PusherController < ApplicationController
def auth
if current_user
response = Pusher[params[:channel_name]].authenticate(params[:socket_id])
render :json => response
else
render :text => "Not authorized", :status => '403'
end
end
end
Run Code Online (Sandbox Code Playgroud)
给定唯一的用户ID(current_user.id),如何验证该用户然后让他/她订阅相应的频道?
谢谢
Eco是一种嵌入式Coffeescript模板语言.它类似于ERB.有没有办法在Rails应用程序中将其用作服务器端模板语言?
最终目标是在客户端和服务器上使用Eco编写的部分部分.
ruby ×3
git ×2
coffeescript ×1
debugging ×1
drb ×1
git-branch ×1
git-commit ×1
git-gui ×1
heroku ×1
line-numbers ×1
logging ×1
macos ×1
markdown ×1
nlp ×1
pry ×1
push ×1
python ×1
regex ×1
rest-client ×1
spacy ×1
spacy-3 ×1
templates ×1