我正在编写一个模块来为FlagShihTzu gem添加功能。
基本上,它会遍历标志并输出分配给对象的键。它工作正常,但我也希望能够在视图中使用块来处理输出。
问题在于它输出了模块中的数组和视图中块的输出。
module AwesomeFlags
def my_flags(column = nil)
a = self.flag_mapping
if column.nil?
c = a.values.map {|var| var.keys}.flatten
else
b = a[column]
c = Array.[](b.keys).flatten
end
c.map {|var| self.send(var) ? "#{var.to_s} " : nil}.compact!
end
end
在视图中:
= book_offer.my_flags.each do |flag|
= flag.titleize
我得到的是:
Regular Complimentary regular complimentary
答案 0 :(得分:0)
您应将其切换为:
- book_offer.my_flags.each do |flag|
= flag.titleize
=
表示包含方法调用的输出,其中-
表示只是执行它。 each
循环返回列表中的项目。