首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么此表单GET请求不将浏览器发送到呈现视图?

为什么此表单GET请求不将浏览器发送到呈现视图?
EN

Stack Overflow用户
提问于 2018-06-22 06:47:02
回答 1查看 20关注 0票数 0

我为以下控制器定义了以下路由get 'search', to: 'search#show'

代码语言:javascript
复制
class SearchController < Application Controller
  def show
    @users = User.where( { username: params[:query] } )
    respond_to do |format|
      format.html
    end
  end
end

我在views/application/_search.html.erb上有一张可以搜索的表格

代码语言:javascript
复制
<%= form_with method: :get, url: search_path do |form| %>
  <div class="field">
    <%= form.text_field :query, placeholder: "Search users" %>
  </div>
<% end %>

它通过<%= render "search" %>行在layouts/_header.html.erb中呈现。

每当我执行搜索时,我都会得到以下控制台输出:

代码语言:javascript
复制
Started GET "/search?utf8=%E2%9C%93&query=hello" for 127.0.0.1 at 2018-06-21 18:37:20 -0400
Processing by SearchController#show as JS
  Parameters: {"utf8"=>"✓", "query"=>"hello"}
  Rendering search/show.html.erb within layouts/application
  Rendered search/show.html.erb within layouts/application (0.3ms)
  Rendered application/_logo.html.erb (1.2ms)
  Rendered application/_search.html.erb (0.8ms)
  Rendered application/_flashes.html.erb (0.5ms)
  User Load (0.3ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
  ↳ app/helpers/sessions_helper.rb:7
  Rendered layouts/_header.html.erb (242.0ms)
  Rendered layouts/_footer.html.erb (5.1ms)
Completed 200 OK in 407ms (Views: 366.0ms | ActiveRecord: 1.8ms)

看起来页面正在呈现,但是我的浏览器不会去任何地方。为什么会这样呢?目前,view/search/show.html.erb只包含Rails生成的默认文本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-22 07:20:14

因为它被呈现/响应为JS。

SearchController#show as JS对

的处理

您需要使用HTML进行响应,以便浏览器可以直接呈现,或者使用一些前端javascript来处理响应。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50978410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档