- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
这就是如何使用 jQuery Tokeninput 自动完成功能和 ActsAsTaggableOn .
在我的情况下,我使用的是嵌套表单,但这无关紧要。以下所有内容都是有效的代码。
产品型号:
attr_accessible :tag_list # i am using the regular :tag_list
acts_as_taggable_on :tags # Tagging products
产品负责人:
#1. Define the tags path
#2. Searches ActsAsTaggable::Tag Model look for :name in the created table.
#3. it finds the tags.json path and whats on my form.
#4. it is detecting the attribute which is :name for your tags.
def tags
@tags = ActsAsTaggableOn::Tag.where("tags.name LIKE ?", "%#{params[:q]}%")
respond_to do |format|
format.json { render :json => @tags.map{|t| {:id => t.name, :name => t.name }}}
end
end
路线:
# It has to find the tags.json or in my case /products/tags.json
get "products/tags" => "products#tags", :as => :tags
应用程序.js:
$(function() {
$("#product_tags").tokenInput("/products/tags.json", {
prePopulate: $("#product_tags").data("pre"),
preventDuplicates: true,
noResultsText: "No results, needs to be created.",
animateDropdown: false
});
});
表格:
<%= p.text_field :tag_list,
:id => "product_tags",
"data-pre" => @product.tags.map(&:attributes).to_json %>
必须有一行:
format.json { render :json => @tags.collect{|t| {:id => t.name, :name => t.name }}}
注意 - 您可以使用 @tags.map
这里也一样,您也不必更改表格。
以下是关于为什么需要这样做的 2 个问题:
我有以下 Tag
: {"id":1,"name":"Food"}
.当我保存 Product
, 已标记 "Food"
, 它应该保存为 ID: 1
当它搜索并找到名称 "Food"
时.目前,它保存了一个新的 Tag
使用引用 "Food"
的新 ID ID,即 {"id":19,"name":"1"}
.相反,它应该查找 ID、显示名称并执行 find_or_create_by
。所以它不会创建一个新的 Tag
.
当我去 products/show
通过执行 <%= @product.tag_list %>
查看标签.名称显示为“Tags: 1”,而实际上它应该是“Tags: Food”。
我该如何解决这些问题?
最佳答案
您应该在 routes.rb
中定义一个路由,它应该处理 products/tags
路径。你可以这样定义它:
get "products/tags" => "products#tags", :as => :tags
因此应该为您提供一个 tags_path
帮助器,它应该评估为 /products/tags
。这应该消除您在问题中提到的错误。请务必在 routes.rb
resources :product
之前添加此路由
现在进入 acts-as-taggable-on ,我没用过这个 gem,但你应该看看方法 all_tag_counts
documentation .您的 ProductsController#tags
方法需要对以下几行进行一些更改。我不确定它是否正是需要的,因为我使用 Mongoid 并且无法对其进行测试。
def tags
@tags = Product.all_tag_counts.(:conditions => ["#{ActsAsTaggableOn::Tag.table_name}.name LIKE ?", "%#{params[:q]}%"])
respond_to do |format|
format.json { render :json => @tags.collect{|t| {:id => t.name, :name => t.name } }
end
end
关于ruby-on-rails - 如何使用 jquery-Tokeninput 和 Acts-as-taggable-on,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6674127/
在数据导入器中,我有代码试图添加一堆 ActsAsTaggableOn::Tag对象到可标记的标签列表: existing_item = FeedItem.where(url: item[:u
因此,在为我的 rails 应用程序搜索标记 gem 后,我发现了惊人的 acts-as-taggable gem 。安装它并玩转我发现它将所有标签保存在一个标签数据库中,它只保存 Tag.name
有人将作为可标记的行为集成到 RailsAdmin 中吗?我正在尝试 rails_admin_tag_list但这对我不起作用。 我的环境: **Gems included by the bundle
我最近在我的应用程序中用 acts_as_taggable_on 替换了 acts_as_taggable_on_steroids 并且我一直遇到一个问题,即 Rails 找不到与新插件关联的类。我认
我的问题有答案 - how to find entries with no tags using acts-as-taggable-on? 但不幸的是效率非常低。它在循环期间对数据库进行一次命中 我有
我从数据库中检索了 54 项: items = Item.where(condition) items.count == 54 and then: items.each {|i| i.tag_list
我可以覆盖标记对象序列化的方式吗?目前一切都已返回,我想排除 id、created_at、updated_at 和标记。我正在使用 JMS Serializer 包,Doctrine Extensio
这将是一个非常愚蠢的问题,我只知道这一点,但我还是要问,因为它快把我逼疯了。 如何让 acts-as-taggable-on 起作用? 我用 gem install acts-as-taggable-
这里是 Rails 新手! 我正在使用 acts-as-taggable-on 来实现基本标记,但我想修改默认行为,以便可以使用相同的标记多次标记模型的每个实例(比如帖子)。 @post.tag_li
acts-as-taggable-on 中的默认分隔符gem 是逗号。我想在整个 Rails 3 应用程序中将其更改为一个空格。例如, tag_list 应该像这样分配: object.tag_lis
我正在构建一个返回帖子列表的 API (localhost:3000/api/v1/posts): { "tags": [ { "id": 1, "name": "
我正在阅读作为可标记的 Github 文档, https://github.com/mbleigh/acts-as-taggable-on ,我想强制将标签保存为小写。配置部分中的说明说添加行 Act
我添加了 mongoid-taggable到我的 Gemfile,然后在我的模型中添加 include Mongoid::Taggable,但收到一条错误消息: uninitialized const
我目前正在使用 acts-as-taggable-on gem 向我的 Pieces 模型添加标签。 我正在使用 elasticsearch 将标签索引添加到 Pieces。 但是要在创建标签时更新索
在 tag#show 中,我列出了所有带有该标签的条目。在页面底部,我希望有类似这样的内容:“相关标签:链接、列表、相关标签”我的观点如下: :
我在使用 Simple_form 和 acts-as-taggable-on 时遇到了一些问题。 我有一个对象“象形图”,带有一些标签,例如“门”和“紧急情况” 我在我的表单中使用了这段代码 = f.
我正在尝试在数据库中创建大量标签,有人知道如何使用gem acts-as-taggable-on进行此操作吗? 产品表: create_table :products do |t| t.stri
我正在尝试使用 acts-as-taggable-on 按 :type 对 Posts 表进行动态排序 | gem 。 假设我的 Post 对象有 3 列:用户、标题和日期。我可以通过放入 Contr
在我想“按上下文”搜索的情况下,我无法理解“tagged_with”方法的工作原理。 例如,如果我有以下@user: class User "Bobby") @user1.interest_list
我无疑遗漏了一些明显的东西,但我应该如何设置由 生成的各个标签的输出样式? ? 'tags' %>不工作... 请注意,我想为单个结果设置样式,而不是整个 block 。 谢谢! 最佳答案 这应该
我是一名优秀的程序员,十分优秀!