Rails 在控制台网络响应中部分呈现但不在视图中

Rails partial renders in console network response but not in view

我正在尝试在 rails 视图中显示我的部分搜索结果。当我检查我的控制台 > 网络 > 预览时,我看到我的部分渲染了我需要的数据,但它没有显示在我的视图中。

这是我的 app/controllers/searchs_controller.rb

def nearby_guides
@address = params[:address]
initial_array = @address.split(',')
city = initial_array[0]
state = initial_array[1].split(' ')
final_state = state[0]
country = initial_array[2]
@result = User.where("city = ?", city)
respond_to do |format|
    format.html {render :partial => '/searchs/result', object: @result}
end
end

这是我的 views/searchs/_result.html.erb

<h1>HELLO WORLD</h1>

<% if @result %>
    <% @result.each do |r| %>
        <p><%= r.firstname %></p>
    <% end %>
<% end %>

然后在我的views/searchs/new.html.erb

<%= render 'result' %>

这是我在控制台 > 网络 > 预览中看到的响应

HELLO WORLD

Kevin

这正是我所期望的响应,但同样,它没有显示在视图中。我看过堆栈溢出但没有运气。非常感谢您提供的所有帮助!

我认为这是你的问题:format.html {render :partial =>

当您将一个动作的结果呈现为 html - 它需要是一个完整的视图,而不仅仅是部分视图。

渲染部分通常保留用于 AJAX 查询 - 您只需要页面的一部分,您的 javascript 会将其插入页面的正确位置。所以要么你需要javascript,要么你需要做类似的事情:render :new