我正在使用Ancestry gem和ActiveAdmin。我需要使用深度方法来缩进选择选项。我相信深度是一个字符串所以我想转换成一个int,这样我就可以乘以一个空格。像这样:
form do |f|
f.inputs "Category" do
f.input :ancestry, :as => :select, :collection => ItemsCategory.all.map {|u| [u.depth.to_i * "" + u.name , u.id]}
f.input :name
end
f.actions
f.semantic_errors
end
答案 0 :(得分:3)
我假设u.depth
是Fixnum
。
问题是u.depth * " "
。你不能将Fixnum
乘以String
,这是没有意义的。反过来也没关系:
3 * "a"
# => TypeError: String can't be coerced into Fixnum
"a" * 3
# => "aaa"
如果你说:
我相信深度是一个字符串所以我想转换成一个int
然后您可以u.depth.to_i
(如果字符串不是数字,将返回0
。)