ActiveRecord ::行为的关系问题

我是一名铁杆新手。 我试图在我的示例应用程序上实现行为作为标记。 我可以使用tag_list输入多个标签,但是面临搜索它们的问题。

这就是我得到的。

我使用脚手架用户来生成控制器和模型。

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

在安装gem之后,我也没有对类ActsAsTaggableOnMigration <ActiveRecord :: Migration进行任何更改。

在我看来,我用_form,index&show html文件替换了:tag_list标签

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

这是我在浏览器中获得的

视图

你能帮我理解我犯了什么错误吗?

谢谢。


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

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

或类似的。

链接地址: http://www.djcxy.com/p/6101.html

上一篇: ActiveRecord::Relation issue on acts

下一篇: sql