Я реализовал поиск модели пользователя (Elasticsearch с использованием Chewy gem).Ссылка на элемент модели из результатов поиска (Chewy, Rails)
просмотров/поиск/search.html.erb:
<%= form_tag search_path, method: "get" do %>
<%= label_tag(:q, "Search by name/ surname/ email:") %>
<%= text_field_tag(:q) %>
<%= submit_tag("Search") %>
<% end %>
<% @results.each do |r| %>
<%= r.name %>
<%= r.surname %>,
<%= r.email %>,
<% end %>
routes.rb:
devise_for :users
resources :users, only: [:show], controller: :profiles
Что мне нужно, чтобы добавить ссылку на пользователя для каждого результата поиска строки. (Как подключить Жевательные пользователей индексы со страницами пользователей)
обновление:
Я изменил последний абзац в search.html.erb на:
<% @results.each do |r| %>
<%= link_to r.name, user_path(r) %>
<%= r.surname %>,
<%= r.email %>,
<% end %>
результаты поиска, кликабельны сейчас, но я получаю следующее сообщение об ошибке:
ActiveRecord :: RecordNotFound в ProfilesController # показать не удалось найти пользователя с 'ид' = # UsersIndex :: Пользователь: 0x007fa1050ebed0>
моего profiles_controller.rb:
class ProfilesController < ApplicationController
skip_before_action :authenticate_user!
def show
@user = User.find(params[:id]) //this line gets an error
end
end
Можете уточнить свой вопрос? Это имеет какое-либо отношение к жеванию или к эластичному поиску? Вам просто нужно знать, как создать ссылку в представлении? – trh
na id нет. его просто стандартный вопрос рельсов, imo –
Стандартный вопрос с рельсами, правый – electrify