Rails3 中的 jquery tokeninput javascript

发布于 2024-11-24 05:06:44 字数 637 浏览 1 评论 0原文

我有一个 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 插件填充数据,我不知道如何进行此操作。

i have a rails project that has a simple mapped relation like below:

model categories

has_many :stories

model Story

belongs_to category

in my stories controller i have

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

then in my new.html.erb i have

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

i want to replace the <%= collection_select %>(select box) with <%= f.text_field%>(text field) and populate the data using jquery toxeninput javascript plugin and i dont know how to go about this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

给不了的爱 2024-12-01 05:06:47

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

  1. 获取令牌输入 javascript 和 css 并将其添加到 html
  2. 定义一个方法 search_category 在你的控制器中如下所示:

    def search_category
      # 找到匹配的类别,Category.search方法应该实现所有需要的逻辑
      类别 = params[:q].blank? ? [] : Category.search(params[:q])
    
      渲染:json =>类别.collect {|c| {:id => c.id, :name => c.名称} }
    结尾
    
  3. 初始化 jquery tokeninput,如下所示:

    $("input#whatever").tokenInput("<%= search_category_path %>", {
      预填充:[{ 
                     id: "<%= @story.category.id %>", 
                     名称:“<%= @story.category.name %>”
                   }],
      tokenLimit: 1 // 仅限制一个可选类别
    });
    

希望有帮助!

I recently added jquery tokeninput to one of my projects and would try to give a rough step-by-step procedure to get it done:

  1. Get the token input javascript and css and add it to html
  2. Define a method search_category in your controller like following:

    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. init the jquery tokeninput like following:

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

Hope it helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文