Я на следующиеRails - Ransack не запрашивают
Sale.rb
belongs_to :client
belongs_to :user
has_many :line_items, dependent: :destroy
has_many :products, through: :line_items
has_many :deposits
accepts_nested_attributes_for :line_items, reject_if: :all_blank, allow_destroy: true
sales_controller.rb
def index
@q = Sale.ransack(params[:q])
@sales = @q.result(distinct: true)
end
просмотров/администратора/продажи/index.html.erb
<%= search_form_for @q, url: admin_sales_path, html: {class: "form-inline"} do |f| %>
<%= f.search_field :sku, placeholder: "SKU", class: "input perfil" %>
<%= f.submit 'search', class: "btn btn-primary" %>
<% end %>
<table class="table">
<thead>
<tr>
<th><%= sort_link @q, :sku, "SKU" %></th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
<% @sales.each do |sale| %>
...
<% end %>
</tbody>
</table>
И, наконец, это l og от терминала:
Started GET "/admin/sales?utf8=%E2%9C%93&q%5Bsku%5D=sample&commit=search" for ::1 at 2016-11-24 00:29:33 -0600
Processing by Admin::SalesController#index as HTML
Parameters: {"utf8"=>"✓", "q"=>{"sku"=>"sample"}, "commit"=>"search"}
Sale Load (0.3ms) SELECT DISTINCT "sales".* FROM "sales"
Rendered admin/sales/index.html.erb within layouts/admin (7.5ms)
Completed 200 OK in 361ms (Views: 346.0ms | ActiveRecord: 1.6ms)
Все, кажется, работает нормально, но ничто не фильтруется.
Как примечание, я применяю этот же метод для других моделей, и они работают нормально.
<% = f.search_field: sku_eq, placeholder: "SKU", класс: "input perfil"%> Попробуйте –
wow Мне стыдно, ошибка начального уровня, вы правы, проблема в следующем: sku_eq (окончание "_eq"). Благодарю. – user3754535
добавив его в решение, пожалуйста, accpet –