Ярлык rails collection_check_boxes не отображается - PullRequest
0 голосов
/ 28 октября 2019

Следующая форма для создания коллекции (вложенных) значений таблицы соединений, где

class Photo
    has_many   :keywordphotos
    has_many   :keywords, through: :keywordphotos
    accepts_nested_attributes_for :keywords

и база данных имеет:

  create_table "keywords", force: :cascade do |t|
    t.string   "name"

представление формы:

<%= form_for(@photo) do |f| %>
  <%= f.collection_check_boxes(:keywords, @keywords, :id, :name) do |keyword| %>
    <%= keyword.label { keyword.check_box } %> 
  <% end %>
<% end %>

генерирует следующий HTML

 <label for="photo_keywords_3"><input type="checkbox" value="3" name="photo[keywords][]" id="photo_keywords_3" /></label> 
 <label for="photo_keywords_5"><input type="checkbox" value="5" name="photo[keywords][]" id="photo_keywords_5" /></label> 
 <label for="photo_keywords_4"><input type="checkbox" value="4" name="photo[keywords][]" id="photo_keywords_4" /></label> 

, поэтому входные значения верны (согласно данным базы данных), но я ожидал, что объект :name заполнит метку. Почему мое понимание ошибочно и как я могу заставить имя появляться после флажка?
[примечание: { keyword.check_box + keyword.name } была предпринята попытка, но вернулась undefined method 'name' for #<ActionView::Helpers[...]]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...