我正在尝试将我的部分显示搜索结果放在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
这是我的观点/ searchs / _result.html.erb
<h1>HELLO WORLD</h1>
<% if @result %>
<% @result.each do |r| %>
<p><%= r.firstname %></p>
<% end %>
<% end %>
然后在我的观看/ searchs / new.html.erb
中<%= render 'result' %>
这是我在控制台中看到的响应&gt;网络&gt;预览
HELLO WORLD
Kevin
这正是我期望的响应,但同样,它不会显示在视图中。我看过堆栈溢出没有运气。非常感谢任何和所有的帮助!
答案 0 :(得分:0)
我认为这是您的问题:format.html {render :partial =>
当您将动作的结果呈现为html时 - 它需要是整个视图,而不仅仅是部分视图。
渲染部分通常是为AJAX查询保留的 - 您只需要部分页面,并且您的javascript会将其插入到正确位置的页面中。所以要么你需要javascript,要么你需要做类似的事情:render :new