Hom*_*ith 4 checkbox ruby-on-rails has-and-belongs-to-many formtastic
我使用formtastic为与另一个模型具有HABTM关系的模型的对象渲染表单.
我这样做是为了呈现一个复选框列表:
<%= f.input :classes, :as => :check_boxes, :collection => UserClass.all %>
Run Code Online (Sandbox Code Playgroud)
是的,它呈现所有复选框,在右侧显示对象名称,如下所示.所以我有这样的事情:
[x] #<UserClass:0x000000087e4958>
Run Code Online (Sandbox Code Playgroud)
我怎么能改变呢?我想显示班级名称和描述......
谢谢.
Ben*_*Lee 13
使用:member_label选项:
<%= f.input :classes, :as => :check_boxes,
:collection => UserClass.all, :member_label => :name %>
Run Code Online (Sandbox Code Playgroud)
(假设您的UserClass有一个name属性,例如).如果您的标签来自多个字段,您可以通过Proc.例如(如果您的UserClass具有first_name和last_name属性):
<%= f.input :classes, :as => :check_boxes,
:collection => UserClass.all,
:member_label => Proc.new { |u| "#{u.first_name} #{u.last_name}" } %>
Run Code Online (Sandbox Code Playgroud)
以上是Formtastic版本2.x. 对于1.2-stable分支,它的工作方式相同(您可以传入方法名称或proc),但调用该选项:label_method.例:
<%= f.input :classes, :as => :check_boxes,
:collection => UserClass.all, :label_method => :name %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3310 次 |
| 最近记录: |