我目前正在制作一个插件,我想为ActiveView :: Helpers :: FormHelper添加一个方法,实际上,插件是一个帮助器,可以将复选框输入转换为按位标志,这样当你执行像new和更新,您可以继续传入params哈希,我的插件将提取复选框数据并将其转换为表示标志状态的单个数字。无论如何,我希望能够做到这样的事情:
<% form_for @person do |f| %>
<%= f.check_boxes_for_flags %>
<% end %>
这会在HTML中创建复选框,然后根据标志设置它们。我知道如何向ActiveView :: Helpers :: FormHelper添加实例方法,但我不知道如何从这个方法访问@person。有什么想法吗?
答案 0 :(得分:1)
你为什么不使用:
<%= f.check_boxes_for_flags :country %>
通过这种方式,您可以创建与ActiveView帮助程序的工作方式类似的扩展程序。
了解check_box_tag in the rails source code如何从模型中获取名称。尝试遵循框架规定的约定,它会让您和那些将在您之后维护代码的人更轻松。