gpt4 book ai didi

ruby-on-rails - 从 rails 中的关联中找到一个随机条目

转载 作者:行者123 更新时间:2023-12-04 05:39:12 24 4
gpt4 key购买 nike

Controller :

class GalleriesController < ApplicationController
def index
@galleries = Gallery.all
end
end

查看:

<% for gallery in @galleries %>
<%= image_tag(gallery.image.url(:medium)) %>
<% end %>

我有 2 个模型,Photo 属于 Gallery,里面有很多照片。我想在图库索引页面上显示来自每个图库的图像(最好是随机而不是 :first)。我知道我的代码是错误的,因为我没有描述从图库中选择哪张图片,但我不确定该怎么做...我认为使用 @photos = @galleries.photos。 find(:first) 会工作,但我在 Controller 中得到一个未定义的方法“照片”。

最佳答案

这适用于 Rails 2 + MySQL

class Photos < ActiveRecord::Base
# for MySQL:
named_scope :random, lambda { |n| {:order => "RAND()", :limit => n || 1 }}
# for SQLite and PostgreSQL
named_scope :random, lambda { |n| {:order => "RANDOM()", :limit => n || 1 }}
end

然后你可以做类似的事情

gallery.photos.random[0]

gallery.photos.random 将随机返回 1 张照片,但它仍然会返回一个数组,这就是为什么你需要 [0] 来获取的第一个元素这个数组。你也可以做 gallery.photos.random.first

如果您想要一张以上的随机图片,您可以调用 gallery.photos.random(10) 来获得 10 张随机照片。

关于ruby-on-rails - 从 rails 中的关联中找到一个随机条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3228844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com