Money-Rails Gem - 用符号显示人性化的钱
Money-Rails Gem - displaying humanised money with symbol
我正在尝试将 Money-Rails 与我的 Rails 4 应用程序一起使用。
我有一个具有如下属性的参与者模型:
t.boolean "costs"
t.integer "participation_cost_pennies", default: 0, null: false
t.string "participation_cost_currency", default: "GBP", null: false
用户可以 select 他们的货币,这应该会覆盖默认的 GBP 设置。
我认为,我有:
<% if @project.scope.try(:participant).try(:costs) == true %>
<%= @project.scope.try(:participant).try(humanized_money_with_symbol :@participation_cost_pennies) %>
当我尝试上述操作时,视图显示为空白(不显示任何内容)。当我尝试在 google 浏览器中检查该元素时,我只能看到一个空的 span 标签,其中列出了该代码(什么都没有)。
我之前尝试过以下方法,它以美分显示价格(如 6 美元为 600 美元:
<%= "#{@project.scope.try(:participant).try(:participation_cost_pennies)} #{@project.scope.try(:participant).try(:participation_cost_currency)}" %>
谁能看出我做错了什么?我想显示 $4 而不是 400 cents/pennies.
谢谢
humanized_money_with_symbol
是一个帮助程序,因此您以 humanized_money_with_symbol @money_object
的形式使用它。
在您的情况下,这意味着您可以像这样使用它:
<%= humanized_money_with_symbol @project.scope.try(:participant).try(:participation_cost_pennies) %>
所有 try
所做的就是在您链接的对象上调用一个方法,如果它不存在,则 return nil。您正在做的是调用 humanized_money_with_symbol
调用参与者上名为 :@participation_cost_pennies
的方法,该方法不存在,因此 try
最终 returning nil
我正在尝试将 Money-Rails 与我的 Rails 4 应用程序一起使用。
我有一个具有如下属性的参与者模型:
t.boolean "costs"
t.integer "participation_cost_pennies", default: 0, null: false
t.string "participation_cost_currency", default: "GBP", null: false
用户可以 select 他们的货币,这应该会覆盖默认的 GBP 设置。
我认为,我有:
<% if @project.scope.try(:participant).try(:costs) == true %>
<%= @project.scope.try(:participant).try(humanized_money_with_symbol :@participation_cost_pennies) %>
当我尝试上述操作时,视图显示为空白(不显示任何内容)。当我尝试在 google 浏览器中检查该元素时,我只能看到一个空的 span 标签,其中列出了该代码(什么都没有)。
我之前尝试过以下方法,它以美分显示价格(如 6 美元为 600 美元:
<%= "#{@project.scope.try(:participant).try(:participation_cost_pennies)} #{@project.scope.try(:participant).try(:participation_cost_currency)}" %>
谁能看出我做错了什么?我想显示 $4 而不是 400 cents/pennies.
谢谢
humanized_money_with_symbol
是一个帮助程序,因此您以 humanized_money_with_symbol @money_object
的形式使用它。
在您的情况下,这意味着您可以像这样使用它:
<%= humanized_money_with_symbol @project.scope.try(:participant).try(:participation_cost_pennies) %>
所有 try
所做的就是在您链接的对象上调用一个方法,如果它不存在,则 return nil。您正在做的是调用 humanized_money_with_symbol
调用参与者上名为 :@participation_cost_pennies
的方法,该方法不存在,因此 try
最终 returning nil