Rails: невозможно установить или обновить tag_list, используя текстовое поле с acts_as_taggable_on - PullRequest
0 голосов
/ 24 декабря 2010

Привет всем, я пытаюсь добавить теги в систему фотогалереи рельсов, над которой я работаю. Он работает из серверной части, но если я попытаюсь установить или изменить его в виде формы, он не будет работать.

Я добавил act_as_taggable к фотомодели и выполнил миграцию. Мой конструктор галерей запрограммирован на автоматическое добавление одного тега к каждой фотографии, которую он создает. Это прекрасно работает, как если бы оно было для консоли. Тем не менее, я не могу установить теги, используя text_field в форме фото.

Вот код, который я добавил в форму для фотографий:

  <p>
    <%= f.label :tag_list %><br />
    <%= f.text_field :tag_list %>
  </p>

Теперь, это довольно тривиально, и так как: tag_list поддерживает однострочное назначение через запятую (например, tag_list = "this, that, other" # => ['this', 'that', 'other'] ), Я не понимаю, почему использование текстового поля не работает. И, что еще меньше смысла, если список тегов уже заполнен, он все равно будет отображаться в текстовом поле при редактировании фотографии. Я просто не могу внести какие-либо изменения в список. Документация на их странице github не дает никакой информации о том, как установить эти значения из представления. Есть идеи?

О, и я использую версию самоцвета Rails 3.

1 Ответ

2 голосов
/ 24 декабря 2010

Я понял это. Оказывается, act_as_taggable не предоставляет вам аксессоры для tag_list автоматически. Мой код в представлении был правильным, но мне нужно было добавить

attr_accessor :tag_list

сделай фотомодель. Просто как тот.

...