【问题标题】:tokeninput in rails not workingrails中的令牌输入不起作用
【发布时间】:2012-06-07 21:31:16
【问题描述】:

我正在尝试在字段上运行 tokeninput 插件。

首先,本教程主要是关于从另一个关联模型添加 id。我不想这样做,而只是使用我自己的模型(表)中名为 tags 的字段。

目前,当我输入它时,它会执行 /notes/tags.json ajax 调用,但没有返回任何内容,我这样做对吗?

控制器:

class NotesController < ApplicationController
  helper_method :sort_column, :sort_direction
  respond_to :html, :json

  def index
    @notes = Note.search(params[:search]).order(sort_column + " " + sort_direction).paginate(:per_page => 5, :page => params[:page])
    @tag = Note.where('tag LIKE ?', "%#{params[:q]}%")
  end

型号:

class Note < ActiveRecord::Base
  attr_accessible :name, :tag

  def self.search(search)
    if search
      where('name LIKE ?', "%#{search}%")
    else
      scoped
    end
  end
end

【问题讨论】:

  • 我的路线只是普通的“资源:notes”我的意思是不同的吗?令牌输入也应该与我的使用方式一起使用吗?无论如何,我什至没有得到 json 回报。
  • /notes/tags.json 不映射到路由。 . .有没有可以在 github 上发布的示例项目?您需要做的不止一件事
  • 如果您尝试在浏览器中访问 /notes/tags.json,您应该会收到路由错误
  • 你能添加你的 tokeninput javascript 代码吗?

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


【解决方案1】:

好的:这是一个使用 jquery 自动完成的粗略但可行的示例

https://github.com/glennmartinez/QaBase/pull/1

步骤如下:

  • 制作响应 json 请求的路由(我劫持了 index 操作)
  • 在文本字段的data-autocomplete-source 属性中声明路径或数据本身,例如:&lt;%= f.text_area :my_token_field, 'data-autocomplete-source' =&gt; features_path
  • 创建附加到引用 ID 的字段的 javascript(检查 html 源代码)
  • 提交表单并检查记录器中的 post-request-hash 并运行您需要的任何 before_save 转换以使字段正常工作。

使用 TOKENINPUT 并关注 http://railscasts.com/episodes/258-token-fields 并查看插件页面上的示例,它希望您的数据采用这种格式

[
  {"id":"856","name":"House"},
  {"id":"1035","name":"Desperate Housewives"},
  ...
]

您可以通过在 ID 中引用不同的东西来创建相同的哈希 .. 例如

Notes.all.map { |n| {:id => n.tag, :name => n.name } }.to_json

这将产生类似的东西:

[
  {"id":"tagname","name":"House"},
  {"id":"othertagname","name":"Desperate Housewives"},
  ...
]

然后您可以告诉响应字段按标签名称搜索表格。

当然,您需要在这些上创建某种唯一性,以便管理仅返回 1 条记录。

我希望这会有所帮助。

【讨论】:

  • 嗨,我已经合并了你的拉取请求,但自动完成的东西不存在,只有我不需要的空格删除。
  • 请使用github问题进一步调试
猜你喜欢
  • 1970-01-01
  • 2014-07-21
  • 1970-01-01
  • 1970-01-01
  • 2012-04-17
  • 1970-01-01
  • 2016-07-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多