小编Alj*_*jaz的帖子

如何使用Nokogiri删除节点?

如何<img>使用Nokogiri 删除标签?

我有以下代码,但它不会工作:

# str = '<img src="canadascapital.gc.ca/data/2/rec_imgs/5005_Pepsi_H1NB.gif"/…; testt<a href="#">test</a>tfbu' 

f = Nokogiri::XML.fragment(str)
f.search('//img').each do |node| 
  node.remove
end
puts f
Run Code Online (Sandbox Code Playgroud)

ruby nokogiri

54
推荐指数
2
解决办法
3万
查看次数

处理HTML片段并返回它

当我使用Nokogiri执行以下操作时:

some_html = '<img src="bleh.jpg"/>test<br/>'
f = Nokogiri::HTML(some_html)
#do some processing
puts f
Run Code Online (Sandbox Code Playgroud)

它将打印整个XHTML doc结构,其中包含高位代码.

我怎样才能打印/返回/获取some_html变量中的html部分?


没有.

f 将返回:

"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www
.w3.org/TR/REC-html40/loose.dtd\">\n<html><body>\n<img src=\"bleh.jpg\">test<br>\n
</body></html>\n"
Run Code Online (Sandbox Code Playgroud)

我只想要内部/片段部分:

<img src=\"bleh.jpg\">test<br>
Run Code Online (Sandbox Code Playgroud)

ruby nokogiri

13
推荐指数
2
解决办法
5294
查看次数

设计:注册后添加通知(可确认)

我补充说:随后确认我的Rails应用程序.问题是,当我在添加后注册时:确认我在注册后没有收到通知,告诉我发生了什么,例如:

You will receive an email with instructions about how to confirm your account in a few minutes.
Run Code Online (Sandbox Code Playgroud)

为什么不显示通知,如何在添加后添加该通知:确认?

感谢帮助

ruby-on-rails devise ruby-on-rails-4

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

优化读取数据库并写入csv文件

我正在尝试从数据库中读取大量单元格(超过100.000)并将它们写入VPS Ubuntu服务器上的csv文件.它发生在服务器没有足够的内存.

我正在考虑一次读取5000行并将它们写入文件,然后再读取5000行等.

我应该如何重构我当前的代码,以便不会完全消耗内存?

这是我的代码:

def write_rows(emails)

  File.open(file_path, "w+") do |f|
    f << "email,name,ip,created\n"
    emails.each do |l|
      f << [l.email, l.name, l.ip, l.created_at].join(",") + "\n"
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

该函数由sidekiq worker调用:

write_rows(user.emails)
Run Code Online (Sandbox Code Playgroud)

感谢帮助!

ruby csv ruby-on-rails sidekiq

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

在ActiveAdmin中显示HStore时获取Formtastic :: UnknownInputError

如何在ActiveAdmin中显示textarea以编辑hstore字段?

目前,当我想打开编辑表单时出现错误:

Formtastic::UnknownInputError
Unable to find input class for hstore
Run Code Online (Sandbox Code Playgroud)

感谢帮助

formtastic activeadmin ruby-on-rails-4

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

循环扫描并单独替换匹配

我想循环通过正则表达式匹配并在循环中单独替换每个匹配.

例如:

content.scan(/myregex/).each do |m|
  m = 'new str'
end
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

我想这样做的原因是因为每个匹配将被替换为函数的不同输出.

感谢帮助

ruby regex

5
推荐指数
2
解决办法
1047
查看次数

em-calc和rem-calc之间的区别

em-calc到目前为止,我一直在Zurb Foundation项目中使用CSS大小定义.但是,最近我注意到开发人员使用的 rem-calc越来越多.

我知道每个函数的功能,但我真的不明白何时应该使用em-calcrem-calc.

这两个功能有什么区别?

sass css3 zurb-foundation zurb-foundation-5

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

单击与Mechanize的xpath链接

我想点击我用xpath(nokogiri)选择的Mechanize的链接.

怎么可能?

    next_page = page.search "//div[@class='grid-dataset-pager']/span[@class='currentPage']/following-sibling::a[starts-with(@class, 'page')][1]"
    next_page.click
Run Code Online (Sandbox Code Playgroud)

问题是nokogiri元素没有点击功能.

我无法读取href(URL)并发送get请求,因为链接已定义onclick函数(无href属性).

如果那是不可能的,有哪些替代方案?

ruby xpath mechanize nokogiri mechanize-ruby

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

Rails4问题与服务供应商资产(图像)

我最近升级到Rails4,我在vendor文件夹中预编译图像资源时遇到问题.我知道默认情况下,vendor/assets文件夹已从编译中删除.

我将vendor/assets/*文件夹添加到assets.precompile配置,该配置获得预编译的资产,但我的应用程序不会显示vendor/assets/images文件夹下的图像.看来该文件夹中的图像路径是在生产时呈现的,但是具有错误的哈希后缀.

config.assets.precompile += [ 'themes/*', 'jquery.fancybox.css', 'vendor/assets/*' ]
Run Code Online (Sandbox Code Playgroud)

用于处理此问题的Rails4文档非常糟糕.我不希望将文件从供应商/资产移动到应用程序/资产,因为我希望将我的和外部文件分开.

我的问题是:我应该怎么做才能在生产中修复服务供应商的图像?

感谢帮助

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

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

用github设置Phabricator

我正在尝试设置Phabricator以使用github,但我不知道在我必须输入Github SSH密钥凭据的步骤中应该添加什么:

Phabricator SSH配置

我应该从本地计算机输入用户名和SSH密钥吗?

什么是密码?

谢谢

phabricator

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

一次加入2个元素

在Ruby中从数组中加入2个2元素的最优雅方法是什么?

例如:我想加入数组:

ar = ['1', '2', '3', '4', '5']
Run Code Online (Sandbox Code Playgroud)

得到

ar = [ '12', '34', '5' ]
Run Code Online (Sandbox Code Playgroud)

感谢帮助

ruby ruby-on-rails ruby-on-rails-3

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

找到可见元素

有没有办法用Watir定位可见元素?

我想只找到可见的表单(通过索引参数),以便Watir返回第一个或第二个可见文本字段.

如何过滤不可见的字段/元素?用xpath可以做到吗?

watir watir-webdriver

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

调整fabricjs Rects的宽度/高度属性

我正在使用fabric.js来定义可以调整大小的矩形区域.我想知道是否有任何方法来设置结构,以便通过更改宽度/高度属性而不是scaleX和scaleY来调整元素的大小?

javascript fabricjs

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