Было бы здорово, если бы кто-нибудь увидел, что я делаю неправильно. Следил за документами: https://github.com/activerecord-hackery/ransack
Моя модель определяет, что Signup has_many Inventories
Код контроллера:
def index
@q = Inventory.search(params[:q])
@inventories = @q.result.includes(:signup)
end
Посмотреть код:
<%= search_form_for @q, url: url_for(controller: 'inventories', action: 'index') do |f| %>
<%= f.label :item_name_cont %>
<%= f.search_field :item_name_cont %>
<%= f.label :signup_email_cont %>
<%= f.search_field :signup_email_cont %>
<%= f.submit %>
<% end %>
<table>
<thead>
<tr>
<th><%= sort_link(@q, :item_name, "Item", default_order: :desc) %></th>
<th><%= sort_link(@q, 'signups.email', "Email") %></th>
<th>Action</th>
<th colspan="5"></th>
</tr>
</thead>
<tbody>
<% Inventory.all.each do |inventory| %>
<tr>
<td><%= inventory.item_name %></td>
<td><%= inventory.signup.email %> %></td>
</tr>
</tbody>
</table>
Так же, если поможет, если убрать в форме поиска спецификацию url:
, то получаю ошибку: No route matches [GET] "/inventories/search"