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を維持しながら、私がやろうとしていることをどのように達成できますか?