Как бы я построить эту установку? - PullRequest
2 голосов
/ 23 мая 2011

У меня уже есть поле, в котором пользователь выбирает жанры из поля автозаполнения, и у меня есть доступ к жанрам по @profile.genres.

Вот мой код:

profile.rb:

has_and_belongs_to_many :genres   
attr_reader :genre_tokens

def genre_tokens=(ids)
  self.genre_ids = ids.split(",")
end

edit.html.erb (каталог профиля):

<div class="field">
  <%= f.label :genre_tokens, "Genres" %><br />
  <%= f.text_field :genre_tokens, :id => 'genre_field', "data-pre" => @profile.genres.map(&:attributes).to_json %>
</div>

genres_controller.rb:

  def index
     @genres = Genre.search(params[:q])
     respond_to do |format|
          format.html 
          format.json {render :json => @genres.map(&:attributes).to_json}
   end

genres.rb:

  has_and_belongs_to_many :profiles

  scope :search, lambda {|q| where("name LIKE ?", "%#{q}%") }

application.js (это зависит от плагина)

$("#genre_field").tokenInput("/genres", {
        hintText: "Start typing in a genre...",
        theme: "facebook",
        prePopulate: $(this).data("pre"),
        preventDuplicates: true
});

Это работает правильно, и у меня есть доступ к выбранным жанрам с @profile.genres.Однако теперь я хочу позволить пользователю выбирать другой набор жанров в другом текстовом поле с помощью одной и той же логики, но мне потребуется доступ к ним, на мой взгляд, с другой переменной.Как бы я это сделал?

...