【发布时间】:2015-11-30 15:54:09
【问题描述】:
我已经实现了对用户模型的搜索(使用 Chewy gem 的 Elasticsearch)。
views/search/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
我需要为每个搜索结果行添加一个指向用户的链接。 (如何将 Chewy 用户索引与用户页面连接起来)
更新:
我将 search.html.erb 中的最后一段更改为:
<% @results.each do |r| %>
<%= link_to r.name, user_path(r) %>
<%= r.surname %>,
<%= r.email %>,
<% end %>
现在可以点击搜索结果,但出现以下错误:
ActiveRecord::RecordNotFound in ProfilesController#show 找不到具有 'id'=#UsersIndex::User: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
【问题讨论】:
-
你能澄清你的问题吗?这与耐嚼或弹性搜索有关吗?您只需要知道如何在视图中创建链接吗?
-
na id 没有。它只是一个标准的 Rails 问题,imo
-
标准导轨问题,对
标签: ruby-on-rails search elasticsearch views chewy-gem