У меня есть простая форма для объекта post (как сообщение в блоге), а одно из полей формы - для коллекции тегов. «Теги» - это ассоциация has_and_belongs_to_many с одним полем, кроме значений по умолчанию rails, «name».Заполнение массива объектов из полей ввода HTML в Rails 3?
Я хочу, чтобы пользователь вводил их в теги, а затем сопоставлял их с существующими тегами, а затем сохранял их в массиве «теги» в контроллере, используя first_or_create перед сохранением объекта post.
Я действительно не знаю, как это сделать. Каков наилучший подход?
'Post' форма:
<%= simple_form_for @post, :html => { :class => 'form-horizontal' } do |f| %>
<%= f.input :shared_url, :required => false, input_html: { class: 'span6' } %>
<%= f.input :title, :required => false, input_html: { class: 'span6' } %>
<%= f.input :content, as: :text, :required => false, input_html: { class: 'span6' } %>
<%= f.input :tags, :required => false, input_html: { class: 'span6' } %>
<div class="form-actions">
<%= f.button :submit, "Post", :class => 'btn btn-primary btn-large' %>
</div>
<% end %>
Вы можете использовать Chosen-Select (http://harvesthq.github.io/chosen/) и их многозонный выберите, чтобы выбрать один из существующих тегов. – MrYoshiji