小编Eri*_*ric的帖子

如何在Ruby中获取网页的HTML源代码

在Firefox或Safari等浏览器中,如果网站处于打开状态,我可以右键单击该页面,然后选择"查看页面源"或"查看源"等内容.这显示了页面的HTML源代码.

在Ruby中,是否有一个函数(可能是一个库)允许我将这个HTML源存储为变量?像这样的东西:

source = view_source(http://stackoverflow.com)
Run Code Online (Sandbox Code Playgroud)

源将是这个文本:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Stack Overflow</title>
etc
Run Code Online (Sandbox Code Playgroud)

html ruby

22
推荐指数
4
解决办法
3万
查看次数

如何在循环运行时,在R中实时将for循环中的变量打印到控制台?

我有一个循环,每次迭代需要很长时间,我希望实时看到它的进展.当循环运行时,如何实时将for循环中的变量打印到控制台?在循环结束后,每个都打印出来,这对我来说没用:

for(i in 1:10){
  write(i,stdout())
}

for(i in 1:10){
  write(i,stderr())
}

for(i in 1:10){
  print(i)
}
1
2
3
4
5
6
7
8
9
10
Run Code Online (Sandbox Code Playgroud)

printing loops r

15
推荐指数
1
解决办法
4万
查看次数

我应该在Heroku上部署我的Ruby on Rails应用程序

关于我自己.我今年24岁,去年毕业于北卡罗来纳州立大学,获得硕士学位.统计,数学,那种事.我没有强大的编程背景,这对我的问题非常重要.如果我说任何没有任何意义的话,那就是原因.从毕业以来,我一直在与其他几个人一起在Rails应用程序上工作.我的编程经验主要是Ruby on Rails(1.2年.)我知道R,SAS(统计语言,对这个问题没什么帮助.)

显然,这意味着它已经开发了一年多,我们还没有完成.主要的开发人员是一个优秀的程序员,只是他已经有一份全职工作,并在业余时间做这个应用程序.由于他最近没有足够的时间,我已经完全负责该应用程序.

我们现在部署在Slicehost上.该应用程序是我们不需要编程任何其他东西(除非我们想到更多的功能.)我问我们是否应该迁移到Heroku的原因是,在我看来,Heroku是一个简单的平台,部署.Slicehost对我来说似乎太复杂了.另一个开发人员处理它,而不是我.我看了如何在Heroku上部署应用程序,看起来我能够做到.如果需要,我们需要我们的应用程序扩展,Heroku提供.至于钱,我会在最低限度(免费)开始,看看它是怎么回事.如果需要,我可以支付额外的功能.

我们正在使用Redmine进行项目管理和存储库(不是git,我认为我们需要在Heroku上使用它.)git是否类似于Redmine?这个容易用吗?

现在,在Slicehost上,我们有4个守护进程(不断运行的进程.)我们有8个delayed_job工作者.我知道启动守护进程和delayed_job工作程序的命令行.这些可以在Heroku上运行吗?

我想知道我是否仍然可以使用Heroku的RAILS_ENV =生产脚本/控制台.

用户界面是一个javascript文件.在开发模式下,如果我在终端中执行脚本/服务器,并在浏览器中转到http:// localhost:3000,我就能看到它.Heroku会按照我想要的方式加载这个页面吗?

我们有一个工作网站的应用程序,我们自己的域名.我真的不知道DNS是什么,所以我可能无法将Heroku应用程序链接到它,除非有一个简单的方法.我认为Heroku将其链接到appname.heroku.com作为默认值.

根据我的编程经验,Heroku是否足够容易让我使用,我应该找到另一份工作,还是应该让seppuku工作?

ruby git deployment ruby-on-rails heroku

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

如何在HTML,JavaScript和CSS,Result之间复制jsfiddle水平拖动条

Jsfiddle有一个功能,允许用户调整HTML,Javascript,CSS和Result的窗口大小.我试图在我的网站上实现类似的功能,包括文章和评论.水平拖动注释栏以放大注释部分,或放大文章.

我实际上在jsfiddle中有一个有点工作的拖动条(这是大大简化):

http://jsfiddle.net/Gp5as/2/

问题是,蓝色注释部分被25px覆盖,因此当栏向右拖动时,注释部分是不对称的.

有两个主要部分:

<div class="main">
  ...
</div>
Run Code Online (Sandbox Code Playgroud)

<div id="sidebar">
  <span id="position"></span>
  <div id="dragbar"><div id="dragtext">Comments</div></div>
  <div id="comment-container">
    <div id="comment">
      Comments
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

主要是文章,侧边栏是评论.拖杆位于侧边栏浮动内部:左侧.

我想知道如何为我自己的目的实现他们的拖动功能.您可以修改我的jsfiddle示例,或创建一个易于剪切和粘贴的jsfiddle示例.

css jquery jsfiddle

8
推荐指数
0
解决办法
1888
查看次数

如何触发对象的销毁回调,该对象是自动删除该对象的连接模型的一部分?

Rails 2.3.8.我有3个型号,用户,来源和订阅.

User  attr_accessible   :source_ids
             has_many   :subscriptions
             has_many   :sources, :through => :subscriptions

Source       has_many   :subscriptions

Subscription belongs_to :user
             belongs_to :source
Run Code Online (Sandbox Code Playgroud)

我有一个界面,允许用户编辑他们的订阅源.它收集source_ids,并根据集合创建或删除订阅.我遇到的问题是,引用:

"自动删除连接模型是直接的,不会触发销毁回调."

订阅正在删除,而不是销毁.我在订阅模型中有一个未触发的回调:

before_destroy do |subscription|
  [Some irrelevant object not to be mentioned].destroy
end
Run Code Online (Sandbox Code Playgroud)

我的问题是,当由于连接模型而自动删除订阅时,如何触发此回调?

ruby-on-rails callback associations destroy

7
推荐指数
1
解决办法
3061
查看次数

如何将Ruby数组传递给Javascript以生成折线图

我正在尝试创建一个网页,以在我的Ruby on Rails 2.3.14应用程序中显示折线图.我找到了一个名为JS Charts的工具,它允许我使用Javascript创建漂亮的图形,但是我无法向它发送所需的数据.以下是制作静态折线图的方法:

<script type="text/javascript">
  var myData = new Array([1, 395], [2, 244], [3, 223], [4, 210], [5, 238], [6, 223], [7, 275], [8, 31]);
  var myChart = new JSChart('chartcontainer', 'line');
  myChart.setDataArray(myData);
  myChart.draw();
</script>
Run Code Online (Sandbox Code Playgroud)

我将该代码放入stats.html.erb中,然后显示出来.但是,我需要它来显示我提供的线图数据.在控制器中创建一个二维数组:

>> @a
=> [[1, 395], [2, 244], [3, 223], [4, 210], [5, 238], [6, 223], [7, 275], [8, 31]]
Run Code Online (Sandbox Code Playgroud)

我应该能够在视图中使用该变量,并设置var myData为它,例如:

var myData = "<%= @a %>";
Run Code Online (Sandbox Code Playgroud)

我试过其他的事情:

var myData = JSON.parse( "<%= @a.to_json %>" );
Run Code Online (Sandbox Code Playgroud)

但似乎没什么用.有什么我能做的吗?

编辑:

控制器传入视图(@a)的数组存在问题,该视图为空.我能够使用:

var myData …
Run Code Online (Sandbox Code Playgroud)

javascript json ruby-on-rails graph

7
推荐指数
1
解决办法
2679
查看次数

旧的Ruby错误在我的Ruby on Rails应用程序中重复出现,与Class.create和delayed_job有关

这个bug已经有好几个月了,在这里:

http://www.ruby-forum.com/topic/1094002

显示代码更改的两个链接:

https://github.com/godfat/ruby/commit/f4e0e8f781b05c767ad2472a43a4ed0727a75708 https://github.com/godfat/ruby/commit/c7a6cf975d88828c2ed27d253f41c480f9b66ad6

我有Ruby 1.9.2和rvm.我会将这些更改粘贴到相应的文件中,但我不知道如何.

这在几天前就已经奏效了.我不能做Ruby on Rails命令,如:

>> User.create :username => "a", :password => "a"
Run Code Online (Sandbox Code Playgroud)

这是错误消息:

ArgumentError: wrong number of arguments(1 for 0)
from /Users/RedApple/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/psych/visitors/yaml_tree.rb:48:in `method'
from /Users/RedApple/.rvm/rubies/ruby-1.9.2 p290/lib/ruby/1.9.1/psych/visitors/yaml_tree.rb:48:in `accept'
from /Users/RedApple/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/psych/visitors/yaml_tree.rb:36:in `<<'
from /Users/RedApple/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/psych.rb:165:in `dump'
from /Users/RedApple/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/psych/core_ext.rb:13:in `psych_to_yaml'
from /Users/RedApple/.rvm/gems/ruby-1.9.2-p290/gems/delayed_job-2.0.4/lib/delayed/backend/base.rb:57:in `payload_object='
from /Users/RedApple/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-2.3.14/lib/active_record/base.rb:2918:in `block in assign_attributes'
from /Users/RedApple/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-2.3.14/lib/active_record/base.rb:2914:in `each'
from /Users/RedApple/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-2.3.14/lib/active_record/base.rb:2914:in `assign_attributes'
from /Users/RedApple/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-2.3.14/lib/active_record/base.rb:2787:in `attributes='
from /Users/RedApple/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-2.3.14/lib/active_record/base.rb:2477:in `initialize'
from /Users/RedApple/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-2.3.14/lib/active_record/base.rb:725:in `new'
from /Users/RedApple/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-2.3.14/lib/active_record/base.rb:725:in `create'
from /Users/RedApple/.rvm/gems/ruby-1.9.2-p290/gems/delayed_job-2.0.4/lib/delayed/message_sending.rb:9:in `method_missing'
from /Users/RedApple/S/app/models/user.rb:29:in `block in <class:User>'
from /Users/RedApple/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:182:in `call'
... …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails delayed-job

6
推荐指数
1
解决办法
1082
查看次数

如何在Windows上设置Stanford CoreNLP服务器以返回文本情绪

我试图在Windows上使用Stanford CoreNLP设置本地服务器,以计算超过1M文章和视频文本的情绪分数.我不懂Java,所以我需要一些帮助.

我成功安装了Stanford CoreNLP 3.6.0,我运行的服务器运行:

java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer
Run Code Online (Sandbox Code Playgroud)

从我的其他计算机运行此http帖子工作,我收到预期的响应(xxx.xxx.xxx.xxx是服务器的IP地址):

wget --post-data 'the quick brown fox jumped over the lazy dog' 'xxx.xxx.xxx.xxx:9000/?properties={"tokenize.whitespace": "true", "annotators": "tokenize,ssplit,pos,lemma,parse", "outputFormat": "json"}' -O -
Run Code Online (Sandbox Code Playgroud)

但是,回复并不包含情绪.显而易见的解决方案是添加注释器:

wget --post-data 'the quick brown fox jumped over the lazy dog' 'xxx.xxx.xxx.xxx:9000/?properties={"tokenize.whitespace": "true", "annotators": "tokenize,ssplit,pos,lemma,parse,sentiment", "outputFormat": "json"}' -O -
Run Code Online (Sandbox Code Playgroud)

但是,在服务器端,我收到此错误:

java.lang.IllegalArgumentException: Unknown annotator: sentiment
at edu.stanford.nlp.pipeline.StanfordCoreNLP.ensurePrerequisiteAnnotators(StanfordCoreNLP.java:281)
at edu.stanford.nlp.pipeline.StanfordCoreNLPServer$CoreNLPHandler.getProperties(StanfordCoreNLPServer.java:476)
at edu.stanford.nlp.pipeline.StanfordCoreNLP$CoreNLPHandler.handle(StanfordCoreNLPServer.java:350)
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
at sun.net.httpserver.AuthFilter.doFilter(Unknown Source)
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(Unknown Source)
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
at sun.net.httpserver.ServerImpl$Exchange.run(Unknown Source)
at …
Run Code Online (Sandbox Code Playgroud)

java stanford-nlp sentiment-analysis server

6
推荐指数
1
解决办法
2877
查看次数

如何在Ruby on Rails中使用Redis有效地获取两个哈希的点积

我在功能表中的数据库中有一个这样的数据结构,称为token_vector(哈希):

Feature.find(1).token_vector = { "a" => 0.1, "b" => 0.2, "c" => 0.3 }
Run Code Online (Sandbox Code Playgroud)

这些功能有25个.首先,我将数据输入Redis,其中包括script/console:

REDIS.set(  "feature1",
            "#{ TokenVector.to_json Feature.find(1).token_vector }"
)
# ...
REDIS.set(  "feature25",
            "#{ TokenVector.to_json Feature.find(25).token_vector }"
)
Run Code Online (Sandbox Code Playgroud)

TokenVector.to_json首先将哈希转换为JSON格式.存储在Redis中的25个JSON哈希值大约需要8 MB.

我有一个叫做的方法Analysis#locate.此方法采用两个token_vectors之间的点积.哈希的点积如下:

hash1 = { "a" => 1, "b" => 2, "c" => 3 }
hash2 = { "a" => 4, "b" => 5, "c" => 6, "d" => 7 }
Run Code Online (Sandbox Code Playgroud)

散列中的每个重叠键(在这种情况下为a,b和c,而不是d)将它们的值成对地相乘,然后相加.

对于价值ahash1是1,该值ahash2是4乘这些获得 …

ruby hash ruby-on-rails redis dot-product

2
推荐指数
1
解决办法
1643
查看次数

如何在Ruby on Rails中使用Nokogiri从HTML中查找代表性图像

我需要放弃使用xsltproc命令行工具在Heroku上进行部署,因为他们并不真正支持它.Nokogiri宝石看起来应该适用于我需要的一切,尽管我无法从HTML中找到代表性的图像.

我的意思是代表性的图像是,/ html/body下的第一个图像在链接中有"://"并且没有"广告".或"广告".要么 "?" 在链接中.是否有Nokogiri函数可以执行此操作,可能返回所有图像的数组,我可以按照我想要的方式过滤它们?

html xslt xpath ruby-on-rails nokogiri

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

如何从字符串的开头到最后一个出现在Ruby中字符串中特定索引之前的字符的子字符串

标题可能令人困惑.只是说我有一篇报纸文章.我想在某个点附近剪掉它,比如4096个字符,但不是在一个单词的中间,而是在最后一个长度超过4096的单词之前.这是一个简短的例子:

"This is the entire article."
Run Code Online (Sandbox Code Playgroud)

如果我想在一个总长度超过16个字符的单词之前剪掉它,这就是我想要的结果:

"This is the entire article.".function
=> "This is the"
Run Code Online (Sandbox Code Playgroud)

单词"whole"的总长度超过16,因此必须删除它,以及它之后的所有字符以及它之前的空格.

这是我不想要的:

"This is the entire article."[0,15]
=> "This is the ent"
Run Code Online (Sandbox Code Playgroud)

写作看起来很容易,但我不知道如何将其用于编程.

ruby string substring

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