Ich zeige das Ergebnis einer Abfrage in meiner Ansicht, verwendet diese Abfrage zwei verschiedene Tabellen und für die Datensuche verwende ich die Ransack-Edelstein, um die Suche durchzuführen, aber es zeigt mir den folgenden Fehler in der Suche Form:Suche mit ransack gem
ActionView::Template::Error (undefined method `Producto_cont' for Ransack::Search<class: Stoc, base: Grouping <combinator: and>>:Ransack::Search):
das Feld „Producto“ ich habe es aus einer anderen Tabelle mit dem Namen „Productos“ bin immer und es ist das Ergebnis der Abfrage, es zeigt mir nur den Fehler mit den Feldern des anderen, die ich bin in Bezug auf die Abfrage und nicht mit der, die ich von der Methode, die es ist "Stoc" ruft
Dies ist mein Methodencontroller:
@search = Stoc.productos_de_un_stock(params).search(search_params)
@search.sorts = 'Stock desc' if @search.sorts.empty?
@stock = @search.result().page(params[:stock]).per(15)
das ist meine Frage:
def self.productos_de_un_stock(params)
query = select("[stock].IdStock, [stock].Stock, [productos].Clave AS Clave_producto, [productos].Producto, [productosxpzas].PzaXCja AS PzaXCja")
.joins('inner join productos ON stock.Articulo = productos.Clave inner join productosxpzas ON productos.Clave = productosxpzas.Producto')
.where('stock.Ruta = ? AND stock.IdEmpresa = ?', (params[:search]), (params[:search6]))
query
end
das ist mein Suchformular:
<%= search_form_for @search, :remote=>"true", url: busqueda_stock_path, :method => :get do |f| %>
<div class="rwd">
<table class="table table-striped table-bordered table-condensed table-hover rwd_auto">
<thead>
<tr>
<th class="component_name_header_col"><%= sort_link @search, :Articulo, "Clave","stoc", {}, { :remote => true, :method => :get } %></th>
<th class="action_col"><%= t("basic.action") %></th>
</tr>
<tr>
<th><%= f.text_field :Articulo_cont, class:"campo" %></th>
<%= f.search_field :Producto_cont %>
<input id="search" type="hidden" value="<%=params[:search] %>" name="search"/>
<input id="search6" type="hidden" value="<%=params[:search6] %>" name="search6"/>
<th><%= f.submit "Buscar" %></th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<% end %>
Vielen Dank für die Antwort und vielen Dank für die Beispiele, ich verstehe Ihren Punkt, aber wenn ich die Daten aus der Abfrage nehmen möchte wählen Sie, wo das Feld mit einem "AS" umbenannt wird ? Zum Beispiel aus diesem Teil :: select ("[rutas] .Ruta AS ruta, [Klient] .IdCli AS Cliente") – luis31