登录 主页

helper_method的使用

2023-09-08 03:34PM

参考:https://stackoverflow.com/questions/3992659/what-do-helper-and-helper-method-do

在视图页面中会重复用到的代码,可以把它写进 Helper 方法用于执行跨多个类常见的特定重复任务。 这可以防止我们在不同的类中一次又一次地重复相同的代码。

helper_method:它使控制器的部分或全部方法可供视图使用。

# app/helpers/application_helper.rb
module ApplicationHelper
    def is_red_or_green origin_number
      if origin_number.to_i > 0
          class_name = "data_up"
       else
          class_name = "data_down"
       end
       return class_name
   end

end

然后可以在多个视图页面中,调用 helper_method(is_red_or_green)

# app/views/goods/store.html.erb

较上周 <span class='<%= is_red_or_green "#{@enterprises_one_change_from_last_week}" %>' ><%= @enterprises_one_change_from_last_week %>家</span>
<span style="margin-left: 47px;">较上月</span>
<span class='<%= is_red_or_green "#{@enterprises_one_change_from_last_month}" %>' ><%= @enterprises_one_change_from_last_month %>家</span>

较昨日,较上月的数据如果大于0,则是红色,如果小于0,则是绿色。

# app/views/goods/data.html.erb

  <span class="text_date_two"> 较昨日</span>
         <span class='<%= is_red_or_green "#{@statistics_purchases_change_from_yesterday}" %>' style='margin-left: 1px;'><%= @statistics_purchases_change_from_yesterday%>吨
         <br/>
         <span class="text_date_two">较上周</span>
         <span class='<%= is_red_or_green "#{@statistics_purchases_change_from_last_week}" %>' style='margin-left: 1px;'><%= @statistics_purchases_change_from_last_week%>吨

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论