actRecord ::关于act-as-taggable-on的关系问题

时间:2011-12-20 12:03:57

标签: ruby-on-rails-3 activerecord ruby-on-rails-3.1 tagging acts-as-taggable-on

我是铁杆新手。我正在尝试在我的示例应用上实现act-as-taggable-on。我可以使用tag_list输入多个标签,但面临搜索问题。

这就是我得到的。

我使用scaffold User生成控制器&模型。

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :name
      t.text :tags

      t.timestamps
    end
  end
end

我的用户模型是

class User < ActiveRecord::Base
  serialize :tags
  acts_as_taggable_on :tags
  scope :by_join_date, order("created_at DESC")  
end

我的用户控制器

Class UsersController < ApplicationController
def index
    @users = User.all
    @search = User.tagged_with("Tag11")
end
...
...
...
end

我也没有对ActsAsTaggableOnMigration类进行任何更改&lt; ActiveRecord ::安装gem后的迁移。

在我看来,我替换了:标签:我的_form,index&amp;中的tag_list;显示HTML文件

<div class="field">
<%= f.label :tags %><br />
<%= f.text_field :tag_list %>
</div>

这是我在浏览器中获得的

view

你能帮我理解我犯错的地方吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

我在猜测(因为你还没有提供其他视图中的代码)但是: 当你做@search = User.tagged_with("Tag11")时返回的不是标签名称,而是实际的标签对象。如果您在视图中有:<%= @search %>,则无效。你需要这样的东西:

<%= @search.map(&:name).join(', ') %>

或类似。