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

2023-12-14

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

我的控制器:

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

感谢您的帮助,

Ramya.


看看宝石Rails3-jquery-自动完成。它应该是您实施的基础。甚至还有一个示例应用程序这解释了您必须采取的每个步骤,以将其包含在您的申请中。

在 Railscasts.com,您会找到一集解释如何使用它:自动完成关联(修订版)

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

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

  • Install JQuery 令牌输入到您的 Rails 应用程序中。
  • 确保您的应用程序了解 jquery(通过使用 Gemjquery-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
    
  • 在您的视图代码中更改以下行:

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

您可以在以下位置找到所有这些步骤的说明以及更多背景信息:铁路广播 第 258 集.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jquery 自动完成插件与 Rails 的示例 的相关文章

随机推荐

  • indexOf 区分大小写吗?

    indexOf String 方法区分大小写吗 如果是这样 是否有不区分大小写的版本 The indexOf 方法均区分大小写 您可以通过预先将字符串转换为大写 小写来使它们 粗略地 以一种破坏的方式 但适用于很多情况 不区分大小写 s1
  • 递归代替多个嵌套的 for 循环?

    我在尝试更新嵌套 for 循环以使用递归时遇到一些问题 使用递归时是否可以从早期的 for 循环访问 a b 和 c 变量 下面是我尝试将其转换为递归调用的简单示例 for int a 0 a lt 10 a for int b 0 b l
  • 防止Fragment的restoreViewState()

    我有一个对象Foo可以使用片段进行配置 FooFragment Foo 类包含对 FooFragment 的静态引用和方法公共片段 getConfigurationFragment 此方法将当前对象分配给 FooFragment 并返回它
  • 处理导航栏按钮事件时应用程序崩溃

    在我的应用程序中 我有一个导航栏按钮 允许用户弹回到导航堆栈的顶部 这已经存在了一段时间并且一直运行良好 但是 当我使用 MT 4 0 构建时 它崩溃了 in constructor UIButton btn UIButton FromTy
  • 在 WPF 应用程序中显示 PDF [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 关于如何在 WPF Windows 应用程序中显示 PDF 文件有什么想法吗 我正在使用以下代码来运行浏览器 但是Browser Navigate方法没有做任何事情 WebBrows
  • 我需要在 HTML 中转义什么(JSON 响应)

    我的 JSON 响应如下所示 rc 200 test user div class sub1 div class avatar a href blah blah a br strong 0 strong div div class sl p
  • 使用 C# 比较 SQL Server 中的两个日期时间值

    我想知道如何比较两个日期时间值 一个是从 sql 数据库检索的 另一个是用 c 获取的当前日期时间值 Beware when comparing DateTimes generated within C The DateTime struc
  • 为什么赋值运算符应该返回对象的引用?

    我正在对 C 进行一些修改 并且目前正在处理运算符重载 特别是 赋值 运算符 我在网上查找并发现了多个讨论该问题的主题 在我自己的笔记中 我把所有的例子都记下来了 比如 class Foo public int x int y void o
  • 使用 Logstash,如何根据每行匹配相同的时间戳来组合行?

    MarkLogic 日志文件通过打印具有相同时间戳 精确到毫秒 的行来表示多行 您可以在这段代码中看到这一点 2014 05 09 18 47 33 844 Info Dev Xdbc file store get file xqy url
  • 在android中读取所有联系人的电话号码

    我使用此代码来检索所有联系人姓名和电话号码 String projection new String People NAME People NUMBER Cursor c ctx getContentResolver query Peopl
  • Mysql按工作日分组,填写缺少的工作日

    我的 MySQL 查询有问题 该查询按工作日对表中的数据进行分组 我需要它来填充数据中缺失的工作日 例如下面 SQL 示例中的星期日 工作日 7 SQL小提琴 MySQL 5 6 架构设置 create table test id INT
  • Django - 过滤外键属性

    我正在尝试根据特定字段的值过滤 Django 中的表ForeignKey 例如 我有两个模型 class Asset models Model name models TextField max length 150 project mod
  • HttpPost -> 重定向 -> 所需响应的位置或正文

    以下 Java 代码将数据 POST 到网站 然后作为响应进行重定向 状态 302 它在我的 PC Eclipse Java Ubuntu 上完美运行 完全符合我的要求 我尝试了一切来发布代码功能 但我就是做不到 Java代码 Prepar
  • Hibernate、HQL 和带限制的更新

    是否可以限制使用 Hibernate HQL 更新的行数 例如 Query q em createQuery UPDATE MyObj o Set o prop prop q setParameter prop foo q setMaxRe
  • 信号处理程序和多线程的易失性

    据说信号处理程序需要 volatile 例如 volatile int flag 1 volatile is needed here void run while flag do someting void signal handler i
  • Conda setuptools install 将 shebangs 更改为默认 python 安装

    我遇到一个问题 通过 setuptools 安装到 python anaconda 的软件包将 shebangs 重写到了错误的位置 我已经安装了 python anaconda 和 setuptools 包 我已经验证 python 可执
  • 实体框架代码优先和多个程序集

    我在与其基类不同的程序集中有一个子类 父级是用于 EF Code First 的 POCO 类 当我尝试将继承类的实例添加到数据库时 我得到无效操作异常 无法找到标识为 Foo Bar MyInheritedClass 的类型的对象映射 如
  • 从请求库解析 JSON 响应的最佳方法是什么?

    我正在使用蟒蛇requests module将 RESTful GET 发送到服务器 我收到 JSON 格式的响应 JSON 响应基本上只是一个列表列表 强制响应本机 Python 对象的最佳方法是什么 以便我可以使用迭代或打印它pprin
  • Python - 正则表达式 - 在单词之前分割字符串

    我试图在特定单词之前拆分 python 中的字符串 例如 我想先分割以下字符串 path 之前分割字符串 path input path bte00250 Alanine aspartate and glutamate metabolism
  • 使用 jquery 自动完成插件与 Rails 的示例

    如果有人可以帮助我提供一个在我的 Rails 应用程序中实现自动完成功能的示例 那将会有很大的帮助 我尝试了 jquery 自动完成插件 但我无法实现 我的控制器 def new testers User find by sql selec