ruby-on-rails – Ruby on Rails:更改formtastic中的复选框标签

我使用formtastic为与另一个模型具有HABTM关系的模型对象渲染表单.

我这样做是为了呈现一个复选框列表:

<%= f.input :classes,:as => :check_Boxes,:collection => UserClass.all %>

是的,它呈现所有复选框,在右侧显示对象名称,类似这样.所以我有这样的事情:

[x] #<UserClass:0x000000087e4958>

我怎么能改变呢?我想显示班级名称和描述……

谢谢.

解决方法

使用:member_label选项:

<%= f.input :classes,:collection => UserClass.all,:member_label => :name %>

(假设您的UserClass具有名称属性,例如).如果您的标签来自多个字段,您可以通过Proc.例如(如果您的UserClass具有first_name和last_name属性):

<%= f.input :classes,:member_label => Proc.new { |u| "#{u.first_name} #{u.last_name}" } %>

以上是Formtastic版本2.x.对于1.2-stable分支,它的工作方式相同(您可以传入方法名称或proc)但该选项名为:label_method.例:

<%= f.input :classes,:label_method => :name %>

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...