在index.html.erb中,我希望每个大学的链接如下所示:申请 - $ 25
我希望显示的价格根据college.undergrad_app_fee的值而变化。
这是我尝试过的,但它不起作用。也许有一种特殊的连接语法可以将明确的“应用 - ”与价格结合起来,或者我需要转义<%=%>不知何故,还是有一种特殊的方法可以用link_to做到这一点?
<td><%= link_to 'Apply - ' college.undergrad_app_fee, college.application_url %></td>
答案 0 :(得分:12)
使用字符串插值语法:
<td><%= link_to "Apply - #{college.undergrad_app_fee}", college.application_url %></td>
作为奖励,如果您只有原始价格,可以使用number_to_currency
格式化:
<td><%= link_to "Apply - #{number_to_currency(college.undergrad_app_fee)}", college.application_url %></td>
跟进:
对于条件链接,使用link_to_if或link_to_unless,它们应该相对简单易用。
处理货币格式的nil
案例有点棘手。您可以使用||
运算符来执行此操作。
结合这两种方法可以得到:
<td><%= link_to_if college.application_url, "Apply - #{number_to_currency(college.undergrad_app_fee || 0)}", college.application_url %></td>
使用rails控制台是测试不同助手行为的好方法。您可以通过helper
对象访问它们,例如:
> helper.number_to_currency(12)
=> "12,00 €"
> nil || 0
=> 0
> 12 || 0
=> 12