标签: acts-as-taggable

如何在Rails中为自动完成添加标记到现有模型?

我正在尝试Article在Rails 3应用程序中为模型添加"标签" .

我想知道是否有一个gem或插件添加了模型中的"标记"功能以及视图的自动完成帮助程序.

我发现acts_as_taggable但是我不确定这是不是我应该使用的.有更新的东西吗?我从2007年google acts_as_taggable获得了结果

jquery tagging autocomplete ruby-on-rails acts-as-taggable

28
推荐指数
2
解决办法
9526
查看次数

如何从act_as_taggable插件的标签列表中删除标签?

我试图破坏给定代码中的标签,但它不起作用.如何实现?

 @tag = Tag.find_by_name(params[:name])
  @tag.destroy
  render :update do |page|
    page[:divtag].innerHTML = render :partial => "controls/tag_list"
  end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails acts-as-taggable

7
推荐指数
1
解决办法
4138
查看次数

Sphinx - 何时对字段使用'has'和'indexes'

几天前我在我的ruby on rails 2.3.2上安装了Sphinx和Thinking-Sphinx,并且基本搜索效果很好.这意味着,没有任何条件.现在,我想用一些条件过滤搜索.

我有Announcement模型,索引如下:

  define_index do
    indexes title, :as => :title, :sortable => true
    indexes description, :as => :description, :sortable => true
  end
Run Code Online (Sandbox Code Playgroud)

也许我错了,但我注意到只有当我将:sortable => true语法添加到这些属性时,我才能在搜索中使用它们作为条件.否则它什么都找不到.

现在,我还使用acts_as_taggable_on插件,它生成了我的两个数据库表:标签和标签.我没有标签模型,我只是acts_as_taggable_on :tags, :categories在我的公告模型.

我现在要做的是按标签过滤.所以,我尝试添加到我的索引 has tags(:id), :as => :tag_ids没有运气,indexes tags(:id), :as => :tag_ids但也没有用.

我如何构建索引,以便我可以这样做:

Announcement.search 'some word', :conditions => {:tag_ids => some_id}
Run Code Online (Sandbox Code Playgroud)

而且,这之间的不同hasindexes

谢谢,Brian

ruby sphinx ruby-on-rails acts-as-taggable thinking-sphinx

5
推荐指数
1
解决办法
931
查看次数

思考Sphinx和acts_as_taggable_on插件

我在轨道2.3.2上安装了Sphinx和Thinking Sphinx for ruby​​.

当我无条件搜索时,搜索工作正常.现在,我想做的是按标签过滤,因此,当我使用acts_as_taggable_on插件时,我的公告模型如下所示:

class Announcement < ActiveRecord::Base

  acts_as_taggable_on :tags,:category

  define_index do
    indexes title, :as => :title, :sortable => true
    indexes description, :as => :description, :sortable => true
    indexes tags.name, :as => :tags
    indexes category.name, :as => :category

    has category(:id), :as => :category_ids
    has tags(:id), :as => :tag_ids
  end
Run Code Online (Sandbox Code Playgroud)

出于某种原因,当我运行以下命令时,它只会带来一个声明,这与我的期望无关.我有很多公告,所以我期待很多结果.

Announcement.search params[:announcement][:search].to_s, :with => {:tag_ids => 1}, :page => params[:page], :per_page => 10

我想有些事情是错的,并且没有正确搜索.

任何人都可以告诉我发生了什么事吗?

谢谢,Brian

sphinx ruby-on-rails acts-as-taggable thinking-sphinx

5
推荐指数
2
解决办法
2655
查看次数

从数组中排除不能按预期方式工作

我正在尝试使用ransack宝石acts_as_taggable.我有一个简单的Job模型,acts_as_taggable以默认方式配置并具有tag_list属性.

当我跑:

Job.ransack("tags_name_in"=>["eum", "sint"]).result.to_sql
Run Code Online (Sandbox Code Playgroud)

它按预期生成SQL(这很好):

"SELECT \"jobs\".* FROM \"jobs\" LEFT OUTER JOIN \"taggings\" ON \"taggings\".\"taggable_id\" = \"jobs\".\"id\" AND \"taggings\".\"context\" = 'tags' AND \"taggings\".\"taggable_type\" = 'Job' LEFT OUTER JOIN \"tags\" ON \"tags\".\"id\" = \"taggings\".\"tag_id\" WHERE \"tags\".\"name\" IN ('eum', 'sint')"
Run Code Online (Sandbox Code Playgroud)

但是,当我试图通过使用排除:

Job.ransack("tags_name_not_in"=>["eum", "sint"]).result.to_sql
Run Code Online (Sandbox Code Playgroud)

它引发了兴奋:

NoMethodError: undefined method `left' for #<ActiveRecord::Relation::QueryAttribute:0x007f851ea6bcd8>
    from /Users/sashar/.rvm/gems/ruby-2.2.5/gems/ransack-1.8.2/lib/ransack/adapters/active_record/context.rb:190:in `block in build_correlated_subquery'
    from /Users/sashar/.rvm/gems/ruby-2.2.5/gems/ransack-1.8.2/lib/ransack/adapters/active_record/context.rb:189:in `each'
    from /Users/sashar/.rvm/gems/ruby-2.2.5/gems/ransack-1.8.2/lib/ransack/adapters/active_record/context.rb:189:in `build_correlated_subquery'
    from /Users/sashar/.rvm/gems/ruby-2.2.5/gems/ransack-1.8.2/lib/ransack/adapters/active_record/ransack/nodes/condition.rb:9:in `block in arel_predicate'
    from /Users/sashar/.rvm/gems/ruby-2.2.5/gems/ransack-1.8.2/lib/ransack/adapters/active_record/ransack/nodes/condition.rb:6:in `map'
    from /Users/sashar/.rvm/gems/ruby-2.2.5/gems/ransack-1.8.2/lib/ransack/adapters/active_record/ransack/nodes/condition.rb:6:in `arel_predicate' …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails acts-as-taggable ransack

5
推荐指数
0
解决办法
172
查看次数

使用acts_as_taggable和activeadmin保存标记

我在rails 3应用程序中使用ActiveAdmin和acts_as_taggable,我可以将标记列表显示为编辑页面上的清单,我可以使用控制台添加标签,然后使用表单删除它们,但是它出错了如果我尝试添加标签,则保存表单

"验证失败:上下文不能为空"

我只有一个标记上下文(标签).

ActiveAdmin表单代码是:

form    :html => { :multipart => true } do |f|
    f.inputs "Details" do
        f.input :title
        f.input :itinerary, :as => :select, :collection => Itinerary.all
        f.input :description
        f.input :address
        f.input :contact_details
        f.input :url
        f.input :phone
        f.input :nearest_tube
        f.input :timetable
        f.input :price
  f.input :tags, :as => :check_boxes, :multiple => true, :collection => @tags
        f.input :image, :as => :file
    end
    f.buttons
end
Run Code Online (Sandbox Code Playgroud)

在我的模型中

class Ticket < ActiveRecord::Base
has_and_belongs_to_many :itinerary
acts_as_taggable_on :tags
has_attached_file :image, :styles => { :medium …
Run Code Online (Sandbox Code Playgroud)

acts-as-taggable ruby-on-rails-3 activeadmin

2
推荐指数
1
解决办法
3036
查看次数

添加到acts_as_taggable_on的连字符标签

我在我的应用程序中使用acts_ as_ taggable_on并使其工作正常,但我正在寻找有关如何进行一次修改的信息.

目前,如果我输入包含空格的标签,标签将与这些空格一起保存,因此要查看具有此标签的所有记录,我有类似的内容:

http://myapp.local/tag/this%20tag%20has%20spaces

当act_ as_ taggable_on首次保存标签时,如何将标签连字符,以便标签存储为this-tag-has-spaces?

我可以如下替换值,但是如何在acts_ as_ taggable_on接管并保存标记列表之前执行此操作?

tag.downcase.gsub(/[^[:alnum:]]/,'-').gsub(/-{2,}/,'-')

谢谢

西蒙

ruby-on-rails acts-as-taggable

1
推荐指数
1
解决办法
602
查看次数