0

我需要更好地为 collection_select 操作一个强项。我只看到如何在对象上调用函数,但我需要做一些对象不知道的更多操作。有没有办法做到这一点?

目前:

lif.collection_select(:tier_id, @lif_plan.tiers, :id, :tiername) 

我试过这个但它没有用(认为它会传递层对象)

lif.collection_select(:tier_id, @lif_plan.tiers, :id, {|tier| "#{tier.tiername} - #{@member.tierrate(year_of_rate)} "} ) 

我的挑战是,如果没有其他信息,该层将不知道它应该做什么,所以我不能只是在那里创建一个函数来返回。任何帮助或建议将不胜感激!

4

1 回答 1

1

您快到了,请记住,collection_select 期待那里有一个 Proc/Method。所以它会尝试向它发送一个 :call 消息。

将其更改为以下内容,然后重试:

lif.collection_select(:tier_id, @lif_plan.tiers, :id, Proc.new {|tier| "#{tier.tiername} - #{@member.tierrate(year_of_rate)} "} )
于 2014-10-13T15:10:34.400 回答