gpt4 book ai didi

jquery - 使用 jquery 自动完成插件与 Rails 的示例

转载 作者:行者123 更新时间:2023-12-01 03:01:35 24 4
gpt4 key购买 nike

如果有人可以帮助我提供一个在我的 Rails 应用程序中实现自动完成功能的示例,那将会有很大的帮助。我尝试了 jquery 自动完成插件,但无法实现。

我的 Controller :

def new    
@testers = User.find_by_sql("select * from users where id in(select user_id from user_role_assignments where role_id in (select id from roles where name like 'Tester')) order by name").paginate(:page=>params[:page],:per_page=>30)
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @release }
end
end

我想为@testers 创建自动完成

查看代码:

 = form.label :tester_tokens, "Testers" 
= form.text_field :tester_tokens

感谢您的帮助,

拉米亚。

最佳答案

看看 gem rails3-jquery-autocomplete 。它应该是您实现的基础。甚至还有一个example application这解释了您必须采取的每个步骤,以将其包含在您的应用程序中。

在 Railscasts.com,您会找到一集解释如何使用它:Autocomplete-association (revised)

如果它对您根本不起作用,您应该回来询问具体问题。从您上面的问题来看,尚不清楚您想在哪里使用自动完成功能。它通常用于建立与另一个对象的(附加)关联,您希望在其中用自动完成字段替换下拉列表或选择列表或复选框列表。

还有一种选择,如果您想选择多个内容,请查看 Railscasts episode "Token Fields" 。因为您的评论表明这就是您想要做的,所以这里有一些如何做到这一点的提示(从我的应用程序复制,您必须用您的上下文替换它,它是 Railscasts 258 的简短版本):

  • 安装JQuery Tokeninput进入您的 Rails 应用程序。
  • 确保您的应用程序了解 jquery(通过使用 Gem jquery-rails)
  • 将 Javascript 文件 jquery.tokeninput.js 包含到您的应用程序中(语法取决于您使用的版本)。
  • 在您的模型中包含以下代码 (User ??):

    class User < ActiveRecord::Base
    attr_accessible :name, :tester_tokens
    has_many :testers
    attr_reader :tester_tokens

    def tester_tokens=(ids)
    self.tester_ids = ids.split(",")
    end

    end
  • 在您的 application.js 中包含以下代码:

    $(function () {
    $('#user_tester_tokens').tokenInput('/testers.json', {
    crossDomain: false,
    prePopulate: $('#user_tester_tokens').data('pre') })
    });
  • 在您的 TestersController 中包含以下代码:

    class TestersController < ApplicationController
    def index
    @testers = Tester.where("name like ?", "%#{params[:q]}%")
    respond_to do |format|
    format.html
    format.json { render :json => @testers.map(&:attributes) }
    end
    end
    end
  • 在 View 代码中更改以下行:

    = form.text_field :tester_tokens, "data-pre" => @user.testers.map(&:attributes).to_json

您可以在 Railscasts episode 258 找到所有这些步骤的说明以及更多背景信息。 .

关于jquery - 使用 jquery 自动完成插件与 Rails 的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8656284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com