2011-02-03 8 views
0

編集more_detailed:私は現在、引っ張られている項目のリストを持っているのRails 3:表示データベースから1つのランダムアイテム:Question_Editは:

:より詳細なポイントに私はRailsの3を使用してい

データベースから取得し、プロパティ/インデックスページに表示され、人々は基本情報を表示し、そのリンクをクリックしてプロパティ/表示ページに移動できます。 link_to_rental(プロパティ)がプロパティヘルパー

で定義されている

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

である私はこれを呼び出すために使用しているコードは、私が何をしたいのですがどのような、私の自宅/インデックスで特色性質を持っていますページ。プロパティコントローラからランダムに1つのプロパティを取得し、その.titleをホーム/インデックスページに表示する同様の方法を使用する方法はありますか?

注:

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

[表示::で

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

答えて

1

それはあなたのコントローラのロジックを置くために、おそらく最善ですrandom_element使用する必要があり、レール3に廃止されました家のコントローラーのように、プロパティの配列を最初に追加してから、プロパティのリストをランダム化するために配列を作成する必要がありました。

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 

ホーム/ indexビューで使用するには、このを私たちに残し:例えば

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

私は私のホームコントローラにロジックを追加しました。アイテム/インデックスの代わりに自宅/インデックスに表示したいからです。最初に、Rails 3のrandは廃止されているので、更新された配列#random_elementを使用していました。今は未定義のローカル変数やメソッド 'items 'を取得しています。どんなアイデアなの?アイテムコントローラから情報を取得するよう指示するために何か必要なものがありますか? – mediarts

+0

申し訳ありませんが、それは読む必要があります:@randitem = @items [rand(@ items.count)] – seeingidog

関連する問題