【发布时间】:2011-01-04 02:52:14
【问题描述】:
以下视图代码生成一系列带有总计的链接(如预期的那样):
<% @jobs.group_by(&:employer_name).sort.each do |employer, jobs| %>
<%= link_to employer, jobs_path() %> <%= "(#{jobs.length})" %>
<% end %>
但是,当我重构视图的代码并将逻辑移至帮助程序时,代码无法按预期工作。
查看:
<%= employer_filter(@jobs_clone) %>
帮手:
def employer_filter(jobs)
jobs.group_by(&:employer_name).sort.each do |employer,jobs|
link_to employer, jobs_path()
end
end
生成以下输出:
<Job:0x10342e628>#<Job:0x10342e588>#<Job:0x10342e2e0>Employer A#<Job:0x10342e1c8>Employer B#<Job:0x10342e0d8>Employer C#<Job:0x10342ded0>Employer D#
我不明白什么?乍一看,代码似乎是等价的。
【问题讨论】:
标签: refactoring view group-by ruby-on-rails-3 helpers