Rails:helper方法输出#而不是正确的值

时间:2016-12-12 08:39:00

标签: ruby-on-rails

resource_helper.rb

 def show_checkbox resources
    resources.each do |resource|
      resource.name 
    end.join(' ').html_safe
  end

查看

<%= show_checkbox resource %>

此代码将输出#,我确信其中的值是正确的。但不确定为什么输出#

1 个答案:

答案 0 :(得分:2)

您想使用resources.map,而不是resources.each

each将返回您重复的值,而不是块的内容 - 为您提供#<Resource:34531231>之类的内容。其余部分被解释为HTML标记,只留下#显示。

map将返回块的值,将Resource对象数组转换为字符串名称数组,如您所愿。