我在application_helper.rb文件中有辅助函数:
def nested_attributes(attributes, cn = controller_name.classify)
attributes.map do |attribute, sub_attributes|
content_tag(:ul) do
content_tag(:li, :id => cn+"[#{attribute.id}]") do
raw(attribute.name+nested_attributes(sub_attributes))
end
end
end.join.html_safe
end
然后我从视图中调用它:
<%= nested_attributes @categories.arrange, 'baget_category_id' %>
但是当我检查结果时,我得到了控制器名称(默认值为)而不是'baget_category_id'。当我删除默认值时,我收到一个错误:参数数量错误(1表示2)。我做错了什么?
答案 0 :(得分:1)
您的问题似乎必须将cn传递给定期呼叫:
raw(attribute.name+nested_attributes(sub_attributes, cn))