У меня уже есть поле, в котором пользователь выбирает жанры из поля автозаполнения, и у меня есть доступ к жанрам по @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
.Однако теперь я хочу позволить пользователю выбирать другой набор жанров в другом текстовом поле с помощью одной и той же логики, но мне потребуется доступ к ним, на мой взгляд, с другой переменной.Как бы я это сделал?