如何将一个方法添加到ActiveView :: Helpers :: FormHelper以与form_for一起使用?

时间:2012-03-01 16:58:48

标签: ruby-on-rails ruby-on-rails-3

我目前正在制作一个插件,我想为ActiveView :: Helpers :: FormHelper添加一个方法,实际上,插件是一个帮助器,可以将复选框输入转换为按位标志,这样当你执行像new和更新,您可以继续传入params哈希,我的插件将提取复选框数据并将其转换为表示标志状态的单个数字。无论如何,我希望能够做到这样的事情:

<% form_for @person do |f| %>
  <%= f.check_boxes_for_flags %>
<% end %>

这会在HTML中创建复选框,然后根据标志设置它们。我知道如何向ActiveView :: Helpers :: FormHelper添加实例方法,但我不知道如何从这个方法访问@person。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你为什么不使用:

<%= f.check_boxes_for_flags :country %>

通过这种方式,您可以创建与ActiveView帮助程序的工作方式类似的扩展程序。

了解check_box_tag in the rails source code如何从模型中获取名称。尝试遵循框架规定的约定,它会让您和那些将在您之后维护代码的人更轻松。