在 Rails 中创建画廊

发布于 2024-09-01 18:08:02 字数 270 浏览 4 评论 0原文

我正在创建一个带有画廊的简单网站。我有一个照片模型,其中每张照片都有一个页面及其信息和图像。 我不确定如何从照片创建画廊。

画廊模型 has_many photos,照片模型 has_and_belongs_to_many gallery。 我想在每个照片页面上添加一个 gallery.title 字段,这样我就会有每个画廊的照片列表,然后将它们显示在视图中。 这是建立画廊的好方法吗?

(我查看了 Github 上一些图库应用程序的代码,但大多数都已经过时,对于我的需求来说太复杂了。)

I'm creating a simple site with a gallery. I have a photos model which has a page for each photo with its info and an image.
I'm unsure how to create a gallery from the photos.

The gallery model has_many photos, the photos model has_and_belongs_to_many galleries.
I thought of adding a gallery.title field on each photo page so I'd have a list of photos for each gallery then display them in a view.
Is this a good way to make a gallery?

(I've looked through the code on some gallery apps on Github, but most are outdated are too complicated for my needs.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怂人 2024-09-08 18:08:02

您的 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

希望这对您的模型设置有所帮助。

Your has_and_belongs_to_many associations should match up, so both Galleries and Photos should use that association. I've built a similar system recently, though mine revolves around albums. My models look like the following:

class Album < ActiveRecord::Base
  has_and_belongs_to_many :photographs

And:

class Photograph < ActiveRecord::Base
  has_and_belongs_to_many :albums

Your join table for the two would look like this:

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

Hope that helps a bit with your model setup.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文