【发布时间】:2012-07-28 22:15:44
【问题描述】:
根据 MVC 进行编码的更好(正确)方法是什么?情况如下:
我的表单中有一个 collection_select,它工作正常,但是我想做这样的事情(注意选项的文本,第 4 个参数)
#Form.html.haml
= form_for(@payment) do |f|
= f.collection_select(:invoice_id, Invoice.due, :id, :number + ' ' + money(:amount_due))
这行不通,因为据我所知,您无法连接符号。所以,我求助于这个:
#Form.html.haml
= form_for(@payment) do |f|
= f.collection_select(:invoice_id, Invoice.due, :id, :number_with_amount_due)
#Invoice.rb
def number_with_amount_due
"##{number} (#{money(amount_due)})"
end
如果我不尝试在模型中调用辅助方法,这会起作用。
那我该怎么办?能够在视图中连接选择文本会很好,但如果不可能,我怎样才能在 Rails 中保留正确的 MVC 的同时实现我想要做的事情?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 model-view-controller