Добавление тегов к фотографиям на lovdbyless - PullRequest
0 голосов
/ 06 апреля 2011

Я сейчас пишу свой студенческий проект и использую движок lovdbyless для основных функций социальной сети.
Я хочу добавить поддержку тегов к фотографиям.Я новичок в rails, поэтому вопрос таков:
Есть ли правильные шаги для этого?
1. Добавьте миграцию, которая создает таблицу 'tags' в базе данных с атрибутом id и name и таблицу 'tagsphotos', котораяимеет поля tag_id и photo_id.
2. Создайте модель для тегов, которые имеют «has_and_belongs_to_many» для фотографий 3. Добавьте «has_and_belongs_to_many» для тегов в модели фотографий.4. Теперь начните использовать это с контроллеров.

Эффективна ли эта организация?Большое спасибо!

1 Ответ

0 голосов
/ 06 апреля 2011

Либо, если вам нужно написать его с нуля, или использовать уже разработанный самоцвет, вам нужно изучить Полиморфные ассоциации

Вы можете изучать либо acts_as_taggable_on , либо acts_as_taggable_on_steroids код.

Это код миграции для activ_as_taggable_on в качестве примера

class ActsAsTaggableOnMigration < ActiveRecord::Migration
  def self.up
    create_table :tags do |t|
      t.column :name, :string
    end

    create_table :taggings do |t|
      t.column :tag_id, :integer
      t.column :taggable_id, :integer
      t.column :tagger_id, :integer
      t.column :tagger_type, :string

      # You should make sure that the column created is
      # long enough to store the required class names.
      t.column :taggable_type, :string
      t.column :context, :string

      t.column :created_at, :datetime
    end

    add_index :taggings, :tag_id
    add_index :taggings, [:taggable_id, :taggable_type, :context]
  end

  def self.down
    drop_table :taggings
    drop_table :tags
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...