我已經成功,現在找到一個解決方法,以這種陣列的哈希值。索引操作現在在呼叫頁面之前有一個「訂單」條款,然後按日期對餐食進行分類和分組。接下來,hackey位:@total_pages和@pages在視圖用於提供分頁鏈接爲這個內置的輔助用@meals返回的不使用數組的哈希工作。它工作(種),但它是hackey。將視圖的東西移動到幫手中肯定會幫助清理它,這是我的下一步。如何使用分頁的雷(或will_paginate)寶石
def index
@meals = Meal.order('date DESC').page(params[:page]).text_search(params[:query]).sort_by(&:date).reverse.group_by(&:date)
@total_pages = (Meal.all.size/7.to_f).ceil
@pages = ([email protected]_pages).to_a
respond_to do |format|
format.html # index.html.erb
format.json { render json: @meals }
end
末
我真的需要這個幫助 - 它已經快把我逼瘋了幾天。我想分頁數組的散列。我曾經嘗試都will_paginate和雷,但無法找到一個方法來分頁所產生的哈希值。
我運行的Rails 3.2.6,1.9.3的Ruby和PostgreSQL 9.1.3是做搜索...
在我的控制器(使用雷)我有:
def index
@meals = Meal.text_search(params[:query]).sort_by(&:date).reverse.group_by(&:date).page(params[:page])
respond_to do |format|
format.html # index.html.erb
format.json { render json: @meals }
end
end
而且在我的模型,我有以下的搜索:
def self.text_search(query)
if query.present?
where("description @@ :q or meal_time @@ :q", q: query)
else
scoped
end
end
在我看來,模板:
<div class="container">
<div class="row">
<%= form_tag meals_path, method: :get, :class => "well form-search" do %>
<%= text_field_tag :query, params[:query],
:class => "span3" %>
<%= submit_tag "Search", name: nil, :class => "btn" %>
<% if current_user %>
<p class="pull-right">
<%= link_to "Add a meal",
new_meal_path,
:class => 'btn btn-success' %>
</p>
<% else %>
<% end %>
<% end %>
</div>
<table class="table table-striped">
<tbody>
<% @meals.each do |date, meals| %>
<tr>
<td>
<h2><%= date.to_s(:day_of_month) %></h2>
<h6><%= date.to_s(:date_and_month) %></h6>
<p><span class="badge badge-warning"><%= pluralize(meals.size, "meal") %></span></p>
</td>
<% meals.each do |meal| %>
<td>
<p>
<strong>
<%= meal.consumed_at.to_s(:just_the_time)%>
<%= meal.meal_time %> —
<%= meal.description %>
</strong>
</p>
<%= link_to "Ingredients", meal_path(meal) %>
</td>
<% end %>
</tr>
<% end %>
</tbody>
</table>
</div>
<%= paginate @meals %>
這將返回以下錯誤:
NoMethodError in MealsController#index
undefined method `page' for Hash
任何幫助將受到歡迎!
我不知道紅寶石什麼,但你不一般的搜索功能分頁,而不是後來呢?我的意思是說,你會得到所有結果,然後在散列中分頁!在text_search部分...不應該有「skip」和「limit」命令嗎? – sinni800 2012-07-18 23:00:29
@ sinni800 - 感謝您的幫助。我已經設法找到了一個(現在就可以做)的方式(一點點黑客)。 – user792649 2012-07-19 17:32:32
你可以張貼周圍的工作? – 2013-01-31 19:14:27