Hi--
On Jul 25, 2009, at 5:51 AM, Vikas Gholap wrote:
>
> Hi all,
>
> I have problem about HAML rendring
>
>
> I have following small test for haml rendering
>
>>> a = Coupon.first
> => #<Coupon id: 16, template_id: 1, business_id: 2, tag_line:
> "Tagline",
> expirat
> ion_date: "2009-07-21", disclaimer: "Disclaimer",
estimated_value:
> #<BigDecimal:
> 67e1f0c,''0.123E3'',4(12)>, created_at: "2009-07-22
13:56:31",
> updated_at:
> "2009-0
> 7-22 13:56:31", tag_line_font_style: "bold",
tag_line_font_family:
> "Arial", tag_
> line_font_size: 22, discount: "50% ", discount_font_style:
"bold",
> discount_font
> _family: "Arial", discount_font_size: 22, product_or_service:
> "Product/Service",
> product_or_service_font_style: false, product_or_service_font_family:
> "Arial",
> product_or_service_font_size: 22, expiration_date_font_style: false,
> expiration_
> date_font_family: "Arial", expiration_date_font_size: 22,
text_color:
> "white", b
> ackground_color: "#201E9F">
>
>
> if i give following to console
>
>>> haml_engine = Haml::Engine.new("%h3 Avatar
>>> =image_tag( Photo.find(t.busines
> s.avatar_id).public_filename(:thumb), :width =>''80px'',
:height =>
> ''80px'')").rend
> er(Object.new, :t => a)
>
> IT GIVES ---->
>
> => "<h3>Avatar =image_tag(
> Photo.find(t.business.avatar_id).public_filename(:th
> umb), :width =>''80px'', :height =>
''80px'')</h3>\n"
>
> --------------------------------------------------------------
>
> BUT IF I GIVE
>
>>> haml_engine =
>>> Haml::Engine.new("=image_tag(
Photo.find(t.business.avatar_id).
> public_filename(:thumb), :width =>''80px'', :height
=>
> ''80px'')").render(Object.new
> , :t => a)
>
>
> I got following error
>
>
> NoMethodError: undefined method `image_tag'' for
#<Object:0x6ab04a4>
> from (haml):1:in `render''
> from
> c:/ruby/lib/ruby/gems/1.8/gems/haml-2.2.1/lib/haml/engine.rb:167:in
> `render''
> from
> c:/ruby/lib/ruby/gems/1.8/gems/haml-2.2.1/lib/haml/engine.rb:167:in
> `instance_eval''
> from
> c:/ruby/lib/ruby/gems/1.8/gems/haml-2.2.1/lib/haml/engine.rb:167:in
> `render''
> from (irb):8
> from :0
>
>
> Why the image_tag is not executing here?
> How to solve this problem? Please give me solution.
>
I can''t tell from the formatting whether your haml is correct, but the
reason you aren''t finding image_tag from the console is probably that
you don''t have the ActionView helpers included. Look up image_tag and
then include the fully-qualified module for image_tag and try again.
You might also try posting to the Haml Google Group
(http://groups.google.com/group/haml
).
Hope this helps.