【问题标题】:Changing CSS class based on model if statement RoR根据模型 if 语句 RoR 更改 CSS 类
【发布时间】:2013-07-22 14:04:58
【问题描述】:

我有一个应用程序,其中的产品可以有正常价格或折扣价格,这两种价格都保存在我的数据库中的两个单独的列中:价格和报价。

我有一个名为“generals”的控制器,适用于所有通用产品。

我希望发生的是,如果“general.offer”为空白,那么包装价格的 div 将具有“产品价格”类。但是,如果general.offer 中存在值,则该div 将具有“product-special-price”类。

目前我有以下:

#View

<div class="<%= product_price %>">
  <%= general.price %>
</div> 


#Application Helper

def product_price
   if general.offer.blank?
      return "product-price"
   else
      return "product-special-price"
   end
end

目前我收到错误数量的参数错误。人们对如何解决此问题的任何建议将不胜感激:)

【问题讨论】:

  • 嗨迈克尔,对不起,我收到的错误是undefined local variable or method general for #&lt;#&lt;Class:0x61fc908&gt;:0x5dce1d8&gt;。非常感谢您的帮助!
  • 是的,请看我的回答。

标签: ruby-on-rails ruby-on-rails-3 if-statement helper


【解决方案1】:

我认为您应该将general 传递给product_price,但这取决于您遇到的错误。

【讨论】:

  • 谢谢 Michael,我如何将 general 传递给 product_price。它会使用在我的将军控制器中定义的@general,即。 @general.offer.blank?这样做时,我会遇到错误undefined method offer for nil:NilClass
  • Rails 没有魔法!您需要在声明中和调用时显式传递 product_price(general)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-06
  • 2017-03-30
相关资源
最近更新 更多