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