小编cha*_*exx的帖子

使用Mechanize和Nokogiri保存图像?

我正在使用Mechanize和Nokogiri来收集一些数据.我需要保存每个请求随机生成的图片.

在我的尝试中,我被迫下载所有图片,但我唯一想要的是图片div#specific.

此外,是否可以从中生成Base64数据,而无需保存或重新加载其来源?

require 'rubygems'
require 'mechanize'
require 'nokogiri'

a = Mechanize.new { |agent|
    agent.keep_alive = true
    agent.max_history = 0
}

urls = Array.new()
urls.push('http://www.domain.com');

urls.each {|url|

    page = a.get(url)
    doc = Nokogiri::HTML(page.body)

    if doc.at_css('#specific')

        page.images.each do |img|
          img.fetch.save('picture.png')
        end

    end
}
Run Code Online (Sandbox Code Playgroud)

ruby mechanize nokogiri

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

Ruby Undefined方法downcase

我在下面的代码中得到了一个例外.有人可以告诉我我做错了什么,以及如何防止它?

def self.find_by_data(data = {})
            where(name_canonical: data['name'].downcase.gsub(/\s+/, ''),
                  fuel:           data['fuel'],
                  trim_canonical: data['trim'].downcase.gsub(/\s+/, ''),
                  year:           data['year']).first
        end
Run Code Online (Sandbox Code Playgroud)

例外:

/Users/charlie/Documents/WIP/projectx/ar_models.rb:35:in `find_by_data': undefined method `downcase' for nil:NilClass (NoMethodError)ooooooooooooooooooooooooo| ETA:   0:00:00
    from /Users/charlie/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-4.0.0/lib/active_record/relation/delegation.rb:36:in `block in find_by_data'
    from /Users/charlie/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-4.0.0/lib/active_record/associations/collection_proxy.rb:845:in `block in scoping'
    from /Users/charlie/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-4.0.0/lib/active_record/relation.rb:270:in `scoping'
    from /Users/charlie/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-4.0.0/lib/active_record/associations/collection_proxy.rb:845:in `scoping'
    from /Users/charlie/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-4.0.0/lib/active_record/relation/delegation.rb:36:in `find_by_data'
    from /Users/charlie/Documents/WIP/projectx/ar_models.rb:132:in `create_or_assign_existing'
    from /Users/charlie/Documents/WIP/projectx/app.rb:230:in `block (2 levels) in work'
    from /Users/charlie/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:294:in `with_connection'
    from /Users/charlie/Documents/WIP/projectx/app.rb:80:in `block in work'
    from /Users/charlie/.rvm/gems/ruby-2.0.0-p0/gems/parallel-0.6.3/lib/parallel.rb:319:in `call'
    from /Users/charlie/.rvm/gems/ruby-2.0.0-p0/gems/parallel-0.6.3/lib/parallel.rb:319:in `call_with_index'
    from /Users/charlie/.rvm/gems/ruby-2.0.0-p0/gems/parallel-0.6.3/lib/parallel.rb:179:in `block (3 levels) in work_in_threads'
    from /Users/charlie/.rvm/gems/ruby-2.0.0-p0/gems/parallel-0.6.3/lib/parallel.rb:326:in `with_instrumentation' …
Run Code Online (Sandbox Code Playgroud)

ruby exception gsub

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

带有复选框的Symfony2表单集合

我正在使用Symfony2构建一个表单,需要对一些复选框进行分组.我根本无法弄清楚如何将选择/标签传递给BonusGroup中的复选框.

形成:

$builder->add('groups', 'collection', array(
     'type' => new BonusGroup(),
     'allow_add' => false,
     'allow_delete' => false,
     'by_reference' => false
));
Run Code Online (Sandbox Code Playgroud)

BonusGroup():

$builder->add('bonus', 'choice', array(
      'choices'  => $options['bonus'],
      'multiple' => true,
      'expanded' => true
));
Run Code Online (Sandbox Code Playgroud)

View.twig:

{% for group in form.groups %}
     {{ form_label(group) }}
     {% for final in group.bonus %}
          {{ form_widget(final) }}
     {% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

将数据传递到表单:

$data = array(
    'groups' =>
        array ('Group 1 label' => array())
);

$form = $app['form.factory']->createBuilder(new Form(), $data))->getForm();
Run Code Online (Sandbox Code Playgroud)

有小费吗?

谢谢!

forms symfony silex

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

Bootstrap 3响应多个断点

我正在使用最新的Bootstrap 3.0 RC1并尝试在图像变得太小时(如在Dribbble上看到的那样)构建具有响应性和多个断点的图像概览.

问题:

  1. 图像缩放仅在一行中有两个或更少时出现(它也应该与3-4个图像一起使用)
  2. 我的断线或响应性导致不同的图像大小.我需要确保断开后的最大img大小与最大大小相同,当一行有4个时.分成两个或一个图像的示例最初看起来比最大尺寸大得多,连续4个.

我希望有人可以帮助我,我是一个初学者来构建响应的东西..

最好的祝福

链接到jsfiddle:

http://jsfiddle.net/6dckB/(你的浏览器必须很宽才能看到效果)

HTML:

<div class="container">
    <ul class="row-fluid">
        <li class="group">
            <div class="img-thumbnail">
                <a href="#">
                    <img src="http://placehold.it/350x150" style="width:100%;">
                </a>
            </div>
        </li>
        <li class="group">
            <div class="img-thumbnail">
                <a href="#">
                    <img src="http://placehold.it/350x150" style="width:100%;">
                </a>
            </div>
        </li>
        <li class="group">
            <div class="img-thumbnail">
                <a href="#">
                    <img src="http://placehold.it/350x150" style="width:100%;">
                </a>
            </div>
        </li>
        <li class="group">
            <div class="img-thumbnail">
                <a href="#">
                    <img src="http://placehold.it/350x150" style="width:100%;">
                </a>
            </div>
        </li>
        <li class="group">
            <div class="img-thumbnail">
                <a href="#">
                    <img src="http://placehold.it/350x150" style="width:100%;">
                </a>
            </div>
        </li>
        <li class="group">
            <div class="img-thumbnail"> …
Run Code Online (Sandbox Code Playgroud)

grid fluid-layout responsive-design twitter-bootstrap twitter-bootstrap-3

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