2011-02-03 58 views
0

編輯:更多詳細,中肯的Rails 3:顯示從數據庫中隨機1項:Question_Edit:more_detailed

我用Rails 3:

我現在有正在拉項目的列表從我的數據庫中找到並顯示在屬性/索引頁面上,人們可以在其中查看基本信息,然後單擊其鏈接以轉到屬性/顯示頁面。我使用調用此代碼是

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

的link_to_rental(屬性)中定義的屬性助手

我想什麼做的,就是對我家/索引功能特性頁。有沒有辦法使用類似的東西從屬性控制器中隨機抽取一個屬性並在home/index頁面上顯示它的.title?

注:蘭特在軌道3棄用必須使用random_element

回答

0

在家庭控制器,它看起來像我需要先爲屬性添加一個數組,然後創建數組來隨機化屬性列表。例如:

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 

,留下了這對家庭/索引視圖中使用:

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

這也可能是最好把邏輯控制器:

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

,那麼該觀點:

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

我添加了邏輯來我家的控制器。因爲我想顯示它在我的家庭/索引而不是我的項目/索引。首先我注意到,在Rails 3 rand不推薦使用,所以我使用了更新的數組#random_element。但現在我得到一個未定義的局部變量或方法'項目'。任何想法爲什麼?有什麼我需要包括告訴它從物品控制器獲取信息? – mediarts 2011-02-03 17:33:09