小编Dav*_*ley的帖子

如何使用Nokogiri和at_css获取img src

我试图获得src一块HTML 的价值.我特意尝试使用at_css而不是使用XPath 来实现这一点.

到目前为止,我所得到的只是零或空白字符串.

这是HTML:

<div class="" id="imageProductContainer">
  <a id="idLinkProductMainImage" href='URL'>
    <img id="productMainImage" src="SRC.jpg" alt="alt" title="A Title" align="left" class="product_image_productpage_main selectorgadget_selected">
  </a>  
</div>
Run Code Online (Sandbox Code Playgroud)

我的代码是:

item = page.doc.at_css("#productMainImage img").text.strip unless page.doc.at_css("#productMainImage img").nil?

puts item #prints blank
item = item["src"]
puts item #prints blank
Run Code Online (Sandbox Code Playgroud)

page.docNokogiri HTML元素在哪里?

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

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

如何从多维数组中获取单个类型的数组(没有循环)

我有以下数组$ foo

array(10) {
[0] => array(4) {

["merchantId"] => string(5) "12e21"
["programId"] => string(27) "ddd3333"
["networkId"] => int(4)
["clientId"] => int(178)
}
[1] => array(4) {

["merchantId"] => string(5) "112e1"
["programId"] => string(27) "2vfrdbv1&=10&tmfdpid=csss"
["networkId"] => int(4)
["clientId"] => int(178)
}
[2] => array(4) {

["merchantId"] => string(5) "112e1"
["programId"] => string(27) "2vfrdbv1&=10&tmfdpid=csss"
["networkId"] => int(4)
["clientId"] => int(178)
}
Run Code Online (Sandbox Code Playgroud)

我需要一个clientId数组(仅限)

是否可以只访问clientId来创建一个没有循环的id数组?

就像是:

$foo['clientId']; //which doesn't work
Run Code Online (Sandbox Code Playgroud)

php arrays multidimensional-array

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

是否可以在原始图像加载之前更改图像src =""

我一直在寻找可以改变图像的src的Javascript.我只是想知道在浏览器尝试获取原始图像之前是否可以这样做.

例.

Src="Large-Image"
Run Code Online (Sandbox Code Playgroud)

我可以(使用javascript,我会想象.. node.JS可能?)为用户服务src="smaller-image"

显然,如果浏览器首先加载大图像,则不会有性能提升.

javascript performance

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

覆盖ggplot图中的默认颜色

我是R的新手,正尝试更改生成的图表的颜色。 在此处输入图片说明

 p = ggplot(plasma1, aes(x=Day, y=Control, colour=Supp))
 + theme(panel.background = element_rect(fill='white', colour='black'))
 + geom_point(size=2, shape=21) 
 + geom_errorbar(aes(ymin=Control-SEMcontrol, ymax=Control+SEMcontrol), width=1)

 p + theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank()) 
 + xlab("X") + ylab("Y") + geom_line(linetype="dashed")
Run Code Online (Sandbox Code Playgroud)

我看过themes(),但似乎只能更改网格线,而不能更改趋势线。(理想情况下,我想将红色和蓝色更改为红色和黑色

r ggplot2

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

使用.constantize从单独的字符串调用类和方法

我正在尝试调用一个类和方法,它们都作为字符串存储在DB中.我想从这两个字符串创建一个对象

class_name = 'Some::Class'
method_name = 'a_method'
params = {foo: 'bar'}

class_name.new(params).method_name
Run Code Online (Sandbox Code Playgroud)

我以前使用Contantize进行类似的方法,但我不确定这里最好的解决方案是什么?

谢谢

ruby ruby-on-rails

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

在Rails 4上安装Mercury Editor已返回路由错误

安装Mecury Editor后,当我尝试启动服务器时,我得到以下内容:

in `normalize_conditions!': You should not use the `match` method in your router without specifying an HTTP method. (RuntimeError)
If you want to expose your action to both GET and POST, add `via: [:get, :post]` option.
If you want to expose your action to GET, use `get` in the router:
  Instead of: match "controller#action"
  Do: get "controller#action"
Run Code Online (Sandbox Code Playgroud)

这是路线文件

Bootcanvise::Application.routes.draw do

Mercury::Engine.routes



  resources :newsletters

  resources :advertisers

  devise_for :users
  get "home/index"
  # The priority is based upon order of creation: first …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails mercury-editor ruby-on-rails-4

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

将大型数组传递给类时是否会降低性能?

我有一个处理大量ID的类.我需要它们在Initialize中,但只会在某些情况下使用它们.

将实例化具有600万个ID的数组的对象比实例化具有4个ID的数组的对象要慢吗?(在不使用此数据的情况下)

ruby

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

是否可以确定变量是否为 activerecord 对象?

我正在尝试创建一个超级通用类,当从它继承时,我可以调用通用 Sidekiq 工作器。

这个想法是让我的所有服务都可以正常或异步调用。问题是我想将对象传递给服务,但我只能将指针传递给工作人员。

因此,如果我的服务需要一个User和一个,String我目前将拥有:

*args = [#<User:y6t4ert56uu6>, "I'm a string"]
Run Code Online (Sandbox Code Playgroud)

为此,我需要制作这个数组:

[{activerecord: true, class: "User", value: user_id}, {activerecord: false, class: "String", value: "I'm a string"}]
Run Code Online (Sandbox Code Playgroud)

一旦我知道User是一个 activerecord 对象,我就可以安全地假设有一个id(假设我只是传递保存的对象)。否则我只会输出变量的值。

完美解决方案的一个想法是:(没有重要的代码)

user = User.first
str = "Hello"

is_activerecord(user) # returns true
is_activerecord(str) # returns false
Run Code Online (Sandbox Code Playgroud)

任何人都可以提出有关如何做到这一点的想法吗?

谢谢

ruby activerecord rails-activerecord ruby-on-rails-5

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