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
我正在尝试在 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