Ruby on Rails Monday, September 2, 2013

On Mon, Sep 2, 2013 at 1:29 PM, Love U Ruby <lists@ruby-forum.com> wrote:
> Why the string interpolation is not working inside the Nokogiri method
> `#search` ?
>
> require 'nokogiri'
>
> doc = Nokogiri::HTML::Document.parse <<-eotl
> <div>
> <p>foo</p>
> <p>foo</p>
> <p>bar</p>
> </div>
> eotl
>
> doc.class # => Nokogiri::HTML::Document
>
> class Person
> attr_accessor :name
> end
>
> ram = Person.new
> ram.name="foo"
> ram.name # => "foo"
> doc.search('//div/p[text()= "#{ram.name}"]').to_a.size
> # => 0
>
> Where am I doing wrong ? please help!

You are not wrapping it in a "" or %Q{}...:
1. doc.search("//div/p[text()= \"#{ram.name}\"]").to_a.size
2. doc.search(%Q{//div/p[text()= "#{ram.name}"]}).to_a.size

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAM5XQnz5T4tuqPDeNFm-Hb%2B2xBnOcpRdSAsGMVO%3Di82Jpt-qWQ%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment