jquery tokeninput javascript в rails3

у меня есть проект rails, который имеет простое сопоставленное отношение, как показано ниже:

категории моделей

has_many :stories

история модели

belongs_to category

в моих историях контроллер у меня есть

def new
@story = Story.new
@categories = Category.all
end

то в моем new.html.erb у меня есть

<%= form_for @story do |f| %>
<%= f.text_field, :title %>
<%= collection_select(:story, :category_id, @categories, :id, :name)%>
<% end %>

Я хочу заменить <%= collection_select %> (поле выбора) на <%= f.text_field%> (текстовое поле) и заполнить данные с помощью плагина jquery toxeninput javascript, и я не знаю, как это сделать.


person Uchenna    schedule 15.07.2011    source источник


Ответы (1)


Недавно я добавил jquery tokeninput в один из своих проектов и попытался дать грубую пошаговую процедуру, чтобы сделать это:

  1. Получите входной токен javascript и css и добавьте его в html
  2. Определите метод search_category в вашем контроллере следующим образом:

    def search_category
      # find the matching categories, Category.search method should implement all the logic needed
      categories = params[:q].blank? ? [] : Category.search(params[:q])
    
      render :json => categories.collect {|c| {:id => c.id, :name => c.name} }
    end
    
  3. инициализируйте токен ввода jquery следующим образом:

    $("input#whatever").tokenInput("<%= search_category_path %>", {
      prePopulate: [{ 
                     id: "<%= @story.category.id %>", 
                     name: "<%= @story.category.name %>"
                   }],
      tokenLimit: 1 // limits only one selectable category
    });
    

Надеюсь, поможет!

person rubish    schedule 16.07.2011
comment
Как ваша форма выглядит для части TokenInput? - person LearningRoR; 17.07.2011
comment
форма будет обычной form_for @story с полем категории, определенным как f.text_field :category_id, :id => 'whatever' - person rubish; 17.07.2011
comment
Спасибо. Возможно, вы сможете ответить на мою награду, поскольку она очень похожа на то, что вы сделали. stackoverflow.com/questions/6674127/ - person LearningRoR; 17.07.2011
comment
@Rubish У меня есть вопрос о вводе токенов, который, вероятно, очень прост для вас, не могли бы вы быстро взглянуть? stackoverflow.com/questions/6819481/ - person Jonah Katz; 25.07.2011