我现在正在做一个插件,我想添加一个方法到ActiveView::Helpers::FormHelper,本质上,这个插件是一个帮助器,它会将checkbox输入转换成位标志,所以当你做new和update这样的操作时,你可以继续传递一个params散列,我的插件会取出checkbox数据,并将其转换成代表标志状态的单个数字。无论如何,我希望能够做这样的事情:
<% form_for @person do |f| %>
<%= f.check_boxes_for_flags %>
<% end %>这将在HTML中创建复选框,然后将它们相应地设置为标记。我知道如何向ActiveView::Helpers::FormHelper添加一个实例方法,但我不确定如何从该方法访问@person。有什么想法吗?
发布于 2012-05-18 16:45:48
为什么不使用:
<%= f.check_boxes_for_flags :country %>这样,您就可以创建类似于ActiveView帮助器工作方式的扩展。
看看check_box_tag in the rails source code是如何从模型中获取名称的。试着遵循框架规定的约定,这会让你和那些在你之后维护你的代码的人变得更容易。
https://stackoverflow.com/questions/9520552
复制相似问题