【问题标题】:jquery tokeninput javascript in rails3rails3中的jquery tokeninput javascript
【发布时间】:2011-10-06 12:13:37
【问题描述】:

我有一个 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 %>

我想用&lt;%= f.text_field%&gt;(文本字段)替换&lt;%= collection_select %&gt;(选择框)并使用jquery toxeninput javascript插件填充数据,我不知道该怎么做。

【问题讨论】:

    标签: jquery ruby-on-rails ruby-on-rails-3 json jquery-tokeninput


    【解决方案1】:

    我最近将 jquery tokeninput 添加到我的一个项目中,并会尝试给出一个粗略的分步过程来完成它:

    1. 获取token输入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 tokeninput,如下所示:

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

    希望对你有帮助!

    【讨论】:

    • 您的表单如何查找 TokenInput 部分?
    • 表单将是一个普通的form_for @story,类别字段定义为f.text_field :category_id, :id =&gt; 'whatever'
    • 好的,谢谢。也许您可以回答我的赏金,因为它与您所做的非常相似。 stackoverflow.com/questions/6674127/…
    • @Rubish 我有一个关于 tokeninput 的问题,这对你来说可能很简单,介意快速看一下吗? stackoverflow.com/questions/6819481/…
    猜你喜欢
    • 1970-01-01
    • 2014-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    相关资源
    最近更新 更多