Rails 表单(复选框) - 从关联的模型中获取名称属性,而不使用 f.label



我一直在按照本教程来设置一个简单的标记系统:http://www.sitepoint.com/save-multiple-checkbox-values-database-rails/

唯一的问题是我的专业知识模型上的"名称"被用作 .yml 文件中的键(标签将被翻译成各种语言)。

专业知识模型与表单模型(在本例中为教师模型)的关系是相互的"has_and_belongs_to_many"

复选框的窗体如下所示。

<%= form_for(@teacher, :html => {multipart: true, :class => "sky-form"}) do |f| %>
...
  <span>Areas of expertise:</span>
  <%= f.collection_check_boxes :expertise_ids, Expertise.all, :id, :name do |b| %>
    <label class="checkbox">
      <%= b.check_box %> <i></i> <%= b.label %>
    </label>
  <% end %>
...
<% end %>

我想做 b.name 而不是 b.label(名称是专业知识模型上的一个属性),但当我这样做时,它会拉出一个错误。

有什么建议吗?我只是想获取专业知识模型的每个实例的"名称"文本,而不是在整个 html 元素中提供。

引自:http://apidock.com/rails/v4.0.2/ActionView/Helpers/FormOptionsHelper/collection_check_boxes

还有三种特殊方法可用:objecttextvalue

我想b.textb.value就是你要找的。

最新更新