我要弄清楚如何在option_groups_from_collection_for_select中使用我想要播放的集合的一个成员调用一个函数。
样本如下:
option_groups_from_collection_for_select(@categories, :children, :name, :id, :name, 3)
在我的代码中,我需要将:name标签替换为计算正确翻译的函数。当我在模型中编写此函数时,会出现一个错误,即他找不到此方法名称。如果我把它放到辅助控制器中,我就没有关于哪些类别应该被翻译的信息......
本手册介绍了该标签方法:
group_label_method:a的名字 在成员上召唤时的方法 of collection,返回一个字符串 用作其标签属性 < OPTGROUP>标签
我在哪里写这个?
由于 马库斯
答案 0 :(得分:1)
我假设您正在调用这样的函数:
option_groups_from_collection_for_select(@categories, :children, my_translate_function, :id, :name, 3)
这不起作用,因为未定义“my_translate_function”。
你必须在函数名前放一个冒号:
option_groups_from_collection_for_select(@categories, :children, :my_translate_function, :id, :name, 3)
rails将使用send方法在您的对象上调用“my_translate_function”。