Ich benutze ransack für meine Anwendung und versuche, eine Tabelle Kopf sortierbar mit sort_link zu erstellen, aber ich bin fest, wenn ich versuche, die sort_link auf den Tabellenkopf angewendet, der die enthält Wert nicht aus der Tabelle der Datenbank, sondern von der Methode im Modell ...ransack sort_link basiert auf einer Definitionsmethode in Modell
dies ist mein Code
mein Modell
def final_price_with_items
self.item_cost + self.final_price
end
und ich in meinem Modell einen weiße Liste gesetzt hatte, zu erklären, der andere Tabellenkopf, der den Wert aus der Tabelle der Datenbank.
self.whitelisted_ransackable_attributes = ['number','state', 'cost', 'created_at']
mein html
<table class="index" id="listing_shipments" data-hook>
<thead>
<tr data-hook="admin_shipments_index_headers">
<th><%= sort_link @search, :created_at, Spree::Shipment.human_attribute_name(:created_at) %></th>
<th><%= sort_link @search, :number, Spree::Shipment.human_attribute_name(:number) %></th>
<th><%= sort_link @search, :state, Spree::Shipment.human_attribute_name(:state) %></th>
<th><%= sort_link @search, :cost, Spree::Shipment.human_attribute_name(:cost) %></th>
<th><%= sort_link @search, :final_price_with_items, Spree::Shipment.human_attribute_name(:final_price) %></th>
<th data-hook="admin_shipments_index_header_actions" class="actions"></th>
</tr>
</thead>
<tbody>
<% @shipments.each do |shipment|%>
<tr id="<%= spree_dom_id shipment %>" data-hook="admin_shipments_index_rows" class="<%= cycle('odd', 'even')%>">
<td><%= l shipment.created_at.to_date %></td>
<td><%= link_to shipment.number, edit_admin_order_path(shipment.order) %></td>
<td><span class="state <%= shipment.state.downcase %>"><%= Spree.t("shipment_state.#{shipment.state.downcase}") %></span></td>
<td><%= shipment.display_cost.to_html %></td>
<td><%= Spree::Money.new(shipment.final_price_with_items, currency: shipment.currency).to_html %></td>
<td data-hook="admin_shipments_index_row_actions" class="actions align-center">
<%= link_to_edit_url edit_admin_order_path(shipment.order), :title => "admin_edit_#{dom_id(shipment)}", :no_text => true %>
</td>
</tr>
<% end %>
</tbody>
</table>
der Tabellenkopf, der zum Sortieren in der weißen Liste der Lage erklärt, da die Tabelle Sendung in der Datenbank diese Spalte hatte, aber die final_price_with_items arbeitet nicht zum Sortieren .. jemand kann mir helfen um dieses Problem zu lösen ?