Rails中的content_tag与concat用法,可以连接任意html元素

本文介绍了一种在Rails应用中使用Helper方法简化HTML输出的方法。该方法能够根据用户是否存在显示不同的HTML内容,包括用户昵称、头像或默认提示信息。
想输出如下html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<% if user.present? %>
    <li>
 
      <a href="<%= user_info_url(user.id) %>"><%= user.nickname %>
        <br><%= image_tag user.head_img_url %></a>
 
    </li>
<% else %>
    <li>
 
      <a href="#">空<br><%= image_tag 'blank.jpg' %></a>
      <p></p>
      <p><button class="btn btn-normal">点亮</button></p>
    </li>
<% end %>

  可以在helper中定义一个方法,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
content_tag :li do
      if user.present?
          html = link_to user_info_url(user.id) do
            concat user.nickname
            concat tag(:br)
            concat image_tag(user.head_img_url)
            
          end
         concat html
         concat content_tag :div ,'', class: 'mask'
      else
         link_to '#' do
           concat '空'
           concat tag(:br)
           concat image_tag('blank.jpg')
         end
 
      end
 
    end

  已经验证过在项目中的顶部返回导航!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值