我正在处理 Rails (& gems) 项目迁移,并且由于未检查格式复选框( :collection => ... .map { ... } ),我遇到了一些问题。
这种情况发生在编辑对象时,它应该打印所有可能的配置文件,将它们转换为当前用户区域设置,并检查哪些与我当前的用户相关联。
以下代码适用于Formtastic 1.2.4,并且没有修改模型/控制器/视图代码或数据库。据说它适用于 2.2.1,但碰巧不适用于任何 2.x 版本。导轨 v.3.1.12
视图/_form.html.haml
= f.input :groups, :as => :check_boxes, :hint => i18n_hint_str("user_roles"), :collection => @current_organization.groups.joins(:permissions).permission_on("idea","index").map{ |u| [i18n_user_str("role.#{u.name}"),u.id] }
下面的选择框只是一个输出测试,令人惊讶地在两个版本中都有效,但我真正想要的是复选框。
形式化 1.2.4
图片链接:i.stack.imgur.com/7aruc.png
形式化 2.2.1
图片链接:i.stack.imgur.com/Af7LK.png
如果我删除 .map 部分
= f.input :groups, :as => :check_boxes, :hint => i18n_hint_str("user_roles"), :collection => @current_organization.groups.joins(:permissions).permission_on("idea","index")
它将检查关联的配置文件,但没有翻译部分(Formtastic 2.2.1)
图片链接:i.stack.imgur.com/M0Xd7.png
有什么想法可以让它在 Formtastic 2.2.1 上运行吗?我不想在这个中使用 javascript。
谢谢。