Forum: Ruby on Rails modalbox rails var interpolation

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Chris H. (Guest)
on 2009-05-05 08:41
(Received via mailing list)
Howdy everyone.

I am using modalbox which is very nice an easy to use.  I have this
for an edit for a company listing:

<td><%= link_to('Manage Companies', {}, :onclick => 'Modalbox.show(\'/
companies/edit/#{company.id}\', {width: 600}); return false;') %></td>

The link is not putting the company.id in it puts #{ company.id}.  how
do I get this to interpolate the rails variable properly?
Marnen L. (Guest)
on 2009-05-05 08:45
Chris H. wrote:
[...]
>
> <td><%= link_to('Manage Companies', {}, :onclick => 'Modalbox.show(\'/
> companies/edit/#{company.id}\', {width: 600}); return false;') %></td>
>
> The link is not putting the company.id in it puts #{ company.id}.  how
> do I get this to interpolate the rails variable properly?

Review your basic Ruby syntax. :). Variable interpolation only happens
in double-quoted strings.

Best,
--
Marnen Laibow-Koser
http://www.marnen.org
removed_email_address@domain.invalid
Julian L. (Guest)
on 2009-05-05 13:36
(Received via mailing list)
This is because single quoted strings are not interpolated. You need
to use doubles or any of the other string quoting methods.

Blog: http://random8.zenunit.com/
Learn: http://sensei.zenunit.com/
Twitter: http://twitter.com/random8r
Chris H. (Guest)
on 2009-05-05 19:56
(Received via mailing list)
Ok, why does this work?

<%= button_to_function "Add Site", remote_function( :url =>
{ :controller => 'addsites', :action => "addsitetomop", :id=>
@mop},  :with => "'site[comp_#{company.id}]=' + $('site_comp_#
{company.id}').value + '&site[customer_#{company.id}]=' + $
('site_customer_#{company.id}').value ")%>
Marnen L. (Guest)
on 2009-05-05 20:05
Chris H. wrote:
> Ok, why does this work?
>
> <%= button_to_function "Add Site", remote_function( :url =>
> { :controller => 'addsites', :action => "addsitetomop", :id=>
> @mop},  :with => "'site[comp_#{company.id}]=' + $('site_comp_#
> {company.id}').value + '&site[customer_#{company.id}]=' + $
> ('site_customer_#{company.id}').value ")%>

For the exact reason that I posted.  Read my first post again and spot
the differences!

Really, if you can't answer that question yourself after reading this
thread, you need to sharpen your powers of observation before you have
any business programming in *any* language.

Best,
--
Marnen Laibow-Koser
http://www.marnen.org
removed_email_address@domain.invalid
This topic is locked and can not be replied to.