Ich habe Aufträge nach Datumsbereich abgefragt. Es funktioniert jetzt aber ich habe die Logik in der Steuerung nicht im Modell. Ich weiß, dass dies stattdessen im Modell sein sollte. Ich habe mehrere Ansätze ausprobiert, aber ich hatte kein Glück.Rails 4 Active Record-Abfrage
Frage: Was ist der richtige Weg, dies zu tun?
Ich bin auf der Suche an den Rails Guides Active Record Querying Abschnitt 2.2 Array Bedingungen: http://guides.rubyonrails.org/active_record_querying.html
Auch mehrere Frage hier in Stack-Überlauf erforscht: undefined local variable or method `params' for #<Result:0x3904b18>
undefined local variable or method `user_params' rails 4
ruby query between two date parameters
orders.rb Leer jetzt Fehler
def self.search_range
end
orders_controller.rb
def search_range
@orders = Order.where("created_at >= :start_date AND created_at <= :end_date",{start_date: params[:start_date], end_date: params[:end_date]}).order("created_at desc")
end
search_range.html.erb zu vermeiden Hier bin ich Eingabe der Datumsbereich
<div class="container-fluid events-container">
<div class="row">
<div class="col-sm-12">
<h1>Orders</h1>
</div>
</div>
<div class="row">
<div class="col-sm-6 form-group">
<%= form_tag search_range_path, :method => 'get', class:"" do %>
<p>
<%= text_field_tag :start_date, params[:start_date] %>
<%= text_field_tag :end_date, params[:end_date] %>
<%= submit_tag "Search", :name => nil, class:"btn btn-primary" %>
</p>
<% end %>
</div>
</div>
<table class="table">
<tr>
<th>amount</th>
<th>status</th>
<th>Last Updated</th>
<th>Order Id</th>
<th>manage</th>
</tr>
<% @orders.each do |order| %>
<tr>
<td><%= order.total %></td>
<td><%= order.order_status.name %></td>
<td><%= order.created_at.strftime("%m/%d/%Y") %></td>
<td><%= order.id %></td>
<td><%= link_to 'details', order %> |
<%= link_to 'edit', edit_order_path(order) %> |
<%= link_to 'delete', order_path(order), method: :delete, data: { confirm: 'Are you sure?' } %>
</td>
</tr>
<% end %>
<tr><td colspan="4"></td></tr>
</table>
<div class="row">
<div class="col-sm-12">
<hr>
</div>
</div>
</div>
Danke Justin für den Lebensretter. Ich werde definitiv mehr über Scopes lernen. Danke auch für den zusätzlichen Code. – Asan