ActiveRecord :: Проблема с отношениями по действиям как пометка на - PullRequest
0 голосов
/ 20 декабря 2011

Я новичок в рельсах.Я пытаюсь внедрить действия типа пометок в моем приложении-образце.Я могу ввести несколько тегов, используя 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

На мой взгляд, я заменил: теги на: tag_list в моих файлах _form, index & show html

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

Это то, что я получаю в браузере

view

Не могли бы вы помочь мне понять, где я совершаю ошибку?

Спасибо.

1 Ответ

1 голос
/ 20 декабря 2011

Я предполагаю (потому что вы еще не предоставили код из другого представления), но: когда вы делаете @search = User.tagged_with("Tag11"), возвращается не имя тега, а фактические объекты тега. Если вы видите: <%= @search %>, это не сработает. Вам понадобится что-то вроде:

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

или аналогичный.

...