Создание галереи в Rails - PullRequest
3 голосов
/ 12 мая 2010

Я создаю простой сайт с галереей. У меня есть фотомодель, в которой есть страница для каждой фотографии с ее информацией и изображением. Я не уверен, как создать галерею из фотографий.

Модель галереи имеет множество фотографий, модель фотографий имеет галереи has_and_belongs_to_many. Я подумал о добавлении поля gallery.title на каждой странице с фотографиями, чтобы у меня был список фотографий для каждой галереи, а затем отображать их в виде. Это хороший способ сделать галерею?

(я просматривал код в некоторых приложениях галереи на Github, но большинство устарело слишком сложны для моих нужд).

1 Ответ

1 голос
/ 12 мая 2010

Ваши ассоциации has_and_belongs_to_many должны совпадать, поэтому и галереи, и фотографии должны использовать эту связь. Недавно я построил подобную систему, хотя моя вращается вокруг альбомов. Мои модели выглядят так:

class Album < ActiveRecord::Base
  has_and_belongs_to_many :photographs

И

class Photograph < ActiveRecord::Base
  has_and_belongs_to_many :albums

Ваш объединительный стол для двоих будет выглядеть так:

class AlbumPhotographJoinTable < ActiveRecord::Migration
  def self.up
    create_table :albums_photographs, :id => false do |t|
      t.integer :album_id
      t.integer :photograph_id
    end
  end

  def self.down
    drop_table :albums_photographs
  end
end

Надеюсь, это немного поможет при настройке вашей модели.

...