Массив, разделенный запятыми, с текстовым_полем в Rails

У меня есть несколько пользователей, которые могут иметь много постов, и каждый из этих постов может иметь много тегов. Я реализовал это, используя has_and_belongs_to_many отношение между постами и тегами.

При создании нового сообщения пользователь может помечать его тегами, используя список значений, разделенных запятыми (так же, как при размещении нового вопроса на SO). Если какой-либо из тегов еще не существует, он должен быть создан автоматически. Это _fields.html.erb частичный вариант для сообщения:

<%= form_for @post do |f| %>
  <%= render 'shared/error_messages', :object => f.object %>

  <h1 class="post"><%= t(:new_post_message) %></h1>

  <div class="field">
    <%= f.label t(:title) %>
    <br />
    <%= f.text_field :title %>
  </div>

  <div class="field">
    <%= f.label t(:tag).pluralize %>
    <br />
    <%= f.text_field :tags %>
  </div>

  <div class="field">
    <%= f.label t(:text) %>
    <br />
    <%= f.text_area :content %>
  </div>

  <div class="actions">
    <%= f.submit t(:post_verb) %>
  </div>
<% end %>

Использование f.text_field :tags сейчас приводит к элементу ввода с [] для текста.

Я пока не использую теги в posts_controller.rb, потому что не уверен, как я должен получить и разделить строковое значение из параметров:

def create
  @post = current_user.posts.build(params[:post])
  if @post.save
    redirect_to root_path
  else
    @stream = []
    render 'pages/home'
  end
end

Кто-нибудь уже решал эту проблему? Большое спасибо.

10
задан Vlad Sabev 1 December 2011 в 17:00
поделиться