0

I don't understand what is wrong with my syntax here, maybe I need another pair of eyes this should result in a user clicking on the twitter image to pop open a bootstrap modal, but I'm getting this error-

wrong number of arguments (3 for 2)

The rails link_to with image_tag-

<li><%= link_to image_tag "/assets/twitter.png", "#myModal", :data => { :toggle =>"modal" } %></li>

modal for html

<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h3 id="myModalLabel">Hey!</h3>
  </div>
  <div class="modal-body">
    <p>6 modals?</p>
  </div>
  <div class="modal-footer">
    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
  </div>
</div>

What am I overlooking here? Thanks for your attention and for taking a look.

computer_smile
  • 2,117
  • 2
  • 24
  • 42

1 Answers1

1

You'll need parentheses around the image_tag argument, like so:

<li><%= link_to image_tag("/assets/twitter.png"), "#myModal", :data => { :toggle =>"modal" } %></li>

Without the parentheses, Ruby thinks you're passing all the arguments into image_tag, just like this:

<li><%= link_to image_tag("/assets/twitter.png", "#myModal", :data => { :toggle =>"modal" }) %></li>

Some consider it good style to wrap all arguments in parens to avoid cases like this, while others prefer the more clean look of as few parens as possible.

Josh Rieken
  • 2,256
  • 1
  • 19
  • 23