Rails 3:显示数据库中的 1 个随机项目:Question_Edit:more_detailed

发布于 2024-10-15 23:22:36 字数 473 浏览 9 评论 0原文

而言

编辑:更详细,就我正在使用 Rails 3

:我目前有一个项目列表,这些项目正在从我的数据库中提取并显示在属性/索引页面上,人们可以在其中查看基本信息,然后单击其链接前往到属性/显示页面。我用来调用它的代码是

<% @properties.each do |property| %>
<%= link_to property.title,  link_to_rental(property)  %>
<% end %>

link_to_rental(property) 在 Properties Helper 中定义

我想做的是在我的主页/索引页面上有一个特色属性。有没有一种方法可以使用类似的方法从属性控制器中随机提取一个属性并在主页/索引页面上显示其 .title ?

注意:rails 3 中不推荐使用 rand 必须使用 random_element

Edit: More Detailed and to the point

I'm using Rails 3:

I currently have a list of items that are being pulled from my database and displayed on the properties/index page where people can see basic information and then click its link to go to the properties/show page. the code I'm using to call this is

<% @properties.each do |property| %>
<%= link_to property.title,  link_to_rental(property)  %>
<% end %>

The link_to_rental(property) is defined in the Properties Helper

What I'd like to do, is have a featured property on my home/index page. Is there a way to use something similar that pulls one property at random from the property controller and display its .title on the home/index page?

note: rand is deprecated in rails 3 must use random_element

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

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

发布评论

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

评论(2

鯉魚旗 2024-10-22 23:22:36

最好将逻辑放入控制器中:

@randitem = @items[rand(items.count)]

然后是视图:

<%= link_to @randitem.name_of_item, link_to_item(@randitem) %>

It's probably best to put the logic in your controller:

@randitem = @items[rand(items.count)]

Then the view:

<%= link_to @randitem.name_of_item, link_to_item(@randitem) %>
心碎的声音 2024-10-22 23:22:36

在家庭控制器中,看起来我需要首先为属性添加一个数组,然后创建该数组以随机化属性列表。例如:

properties = Property.joins(:status).where(:statuses => { :available => 'Not-Rented'})
@property = properties[rand(properties.count)]

  respond_to do |format|
    format.html # index.html.erb
    format.xml  { render :xml => @properties }
  end

让我们在 home/index 视图上使用它:

<%= link_to @property.title,  link_to_rental(@property)  %>

In the home controller it looks like I needed to add an array for the properties first, and then create the array to randomize the list of properties. for example:

properties = Property.joins(:status).where(:statuses => { :available => 'Not-Rented'})
@property = properties[rand(properties.count)]

  respond_to do |format|
    format.html # index.html.erb
    format.xml  { render :xml => @properties }
  end

Leaving us with this to use on the home/index view:

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