0

編集:より詳細で要点

Rails 3を使用しています:

現在、データベースから取得され、プロパティ/インデックス ページに表示されるアイテムのリストを持っています。そこでは、人々は基本情報を確認し、そのリンクをクリックしてプロパティ/表示ページに移動できます。これを呼び出すために使用しているコードは

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

link_to_rental(property) は Properties Helper で定義されています

私がやりたいことは、私のホームページ/インデックス ページにおすすめの物件を掲載することです。プロパティ コントローラから 1 つのプロパティをランダムに取得し、その .title をホーム/インデックス ページに表示する同様のものを使用する方法はありますか?

注: rand は Rails 3 では非推奨です。random_element を使用する必要があります。

4

2 に答える 2

1

コントローラーにロジックを配置するのがおそらく最善です。

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

次に、ビュー:

<%= link_to @randitem.name_of_item, link_to_item(@randitem) %>
于 2011-02-03T08:18:17.503 に答える
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)  %>
于 2011-02-03T19:48:38.137 に答える