将link_to方法添加到image_tag

时间:2014-08-21 16:28:16

标签: ruby-on-rails

在我的索引页面上,我显示所有注册用户。当我点击他们的个人资料图片时,它会将我带到他们的页面,但是当我右键单击图像以在新标签页中打开时,它只会将我带到他们的照片网址。

如何添加link_to,以便当我右键点击图片时,它会打开用户个人资料的路径,而不是图片网址。

相关行应为:

  = image_tag user.avatar.try(:image_url)

_user.html.slim:

- if user.avatar.present?
  .common_box.box1 data-user-id="#{user.id}"
    .img_box
      = image_tag user.avatar.try(:image_url)
      -if @user.present?  
        ul.btn_link.hide
          li
            a.message_btn  href="#" data-user="#{user.id}"  data-mfp-src='#message_me'   Message
          li
            = link_to "Save", follow_popup_user_path(user), class: 'save_btn', :'data-mfp-src'=>'#follow_div', remote: true
          li
            a.report_btn href="#" data-mfp-src='#report_me'  Report
    .img_detail
      small years
      .circle
        span.age_box class="#{user.gender == 'Male' ? '': 'pink'}" = user.age
      h3 class="#{user.gender == 'Male' ? '' : 'pink'}" = user.username
      h4 
        = user.address
      div class= "#{user.gender == 'Male' ? 'green_corner': 'pink_corner'}"
        =image_tag "#{user.gender == 'Male' ? 'side_curv.png': 'curv_2.png'}" 

1 个答案:

答案 0 :(得分:2)

由于您已经将用户定义为user(猜测这是来自_user部分?),您应该能够像将图像标记放在link_to块中一样简单。

- if user.avatar.present?
  .common_box.box1 data-user-id="#{user.id}"
    .img_box
      = link_to user do
        = image_tag user.avatar.try(:image_url)
      -if @user.present?
      // etc

确保缩进正确或缩小将尝试将所有内容缩进链接中的link_to块,并且有时显示的错误很难找到。