Javascript Rails:使用jQuery加载部分

Javascript Rails:使用jQuery加载部分,javascript,jquery,ruby-on-rails,render,partial,Javascript,Jquery,Ruby On Rails,Render,Partial,我想通过请求操作动态显示搜索结果,该操作返回一个javascript,该javascript加载部分内容。我做了一些阅读,而javascript似乎是一种正确的方法。但是什么也没有显示,我得到500个内部服务器错误 这里有一些代码 在控制器中: def search @user = User.find_by email: params[:email] respond_to do |format| if @user && @user.user_typ

我想通过请求操作动态显示搜索结果,该操作返回一个javascript,该javascript加载部分内容。我做了一些阅读,而javascript似乎是一种正确的方法。但是什么也没有显示,我得到500个内部服务器错误

这里有一些代码

在控制器中:

 def search
    @user = User.find_by email: params[:email]

    respond_to do |format|
      if @user && @user.user_type_type == "Employee"
        format.js
      else
        format.js {render "failed_search"}
      end
    end
  end
使用搜索表单查看:

<div id="search-employee">
  <%= form_tag({controller: "employees", action: "search"}, method: :get, remote: true) do %>
      <%= label_tag 'email', "Search for:" %>
      <%= text_field_tag 'email'%>
      <%= submit_tag("Search") %>
  <% end %>

  <div id="search-result" class="row">
  </div>
</div>

操作返回的js(当我将纯文本放入html而不是转义js时有效)

$('search-result').html('employees/search-result')%>;
我会给你看部分,但即使我把纯文本放在那里也不会被渲染,所以不是这样

这是控制台的输出,确实看起来很有用,我一定错过了

Completed 500 Internal Server Error in 10ms (ActiveRecord: 0.2ms)

ActionView::Template::Error (Missing partial employees/_search_result.html.erb with {:locale=>[:en], :formats=>[:js, :html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in:
  * "/home/johnny/Desktop/ror/pub_crawler/pub_crawler_1.2/app/views"
  * "/home/johnny/.rvm/gems/ruby-2.2.1@rails4.2/gems/devise-3.5.6/app/views"
):
    1: //does not work
    2: $('#search-result').html("<%= escape_javascript(render :partial => 'employees/search_result.html.erb') %>");
    3: 
    4: $('#search-result').html('<div class="col-3-md"><%= @user.user_type.name %></div> <div class="col-3-md"><%= @user.user_type.surname %></div> <div class="col-3-md"></div>');
  app/views/employees/search.js.erb:2:in `_app_views_employees_search_js_erb__3438283462284537863_70351967525560'
  app/controllers/employees_controller.rb:12:in `search'
在10毫秒内完成500个内部服务器错误(ActiveRecord:0.2毫秒)
ActionView::Template::Error(缺少部分雇员/_search_result.html.erb,带有{:locale=>[:en],:formats=>[:js,:html],:variants=>[],:handlers=>[:erb,:builder,:raw,:ruby,:coffee,:jbuilder]}。在以下位置搜索:
*“/home/johnny/Desktop/ror/pub\u crawler/pub\u crawler\u 1.2/app/views”
*“/home/johnny/.rvm/gems/ruby-2.2。1@rails4.2/gems/Desive-3.5.6/app/views“
):
1://不起作用
2:$('search result').html('employees/search_result.html.erb')%>”;
三:
4:$(“#搜索结果”).html(“”);
app/views/employees/search.js.erb:2:在“app\u views\u employees\u search\u js\u erb\u 34382834622284537863\u 70351967525560”中
app/controllers/employees\u controller.rb:12:在“搜索”中

编辑:好吧,我是个白痴,这是文件名的输入错误…

你能把rails控制台的输出和搜索结果部分发布出来吗?我怀疑Rails可能找不到您的分部文件,或者分部文件试图使用未定义的变量。

您可以发布Rails控制台的输出和搜索结果分部吗?我怀疑Rails可能找不到您的分部文件,或者分部文件试图使用未定义的变量。

我回家后会发布它。但是#search_result div中没有显示任何内容,即使是纯文本部分,它也不起作用。因此,它必须介于.js.erb和partialI之间。想象一下,rails控制台的输出(即,无论您在哪里启动
rails服务器
)都会提供信息。我会在回家后发布它。但是#search_result div中没有显示任何内容,即使是纯文本部分,它也不起作用。因此,它必须介于.js.erb和partialI之间。想象一下,rails控制台的输出(即,无论您在哪里启动
rails服务器
)都会提供信息。
Completed 500 Internal Server Error in 10ms (ActiveRecord: 0.2ms)

ActionView::Template::Error (Missing partial employees/_search_result.html.erb with {:locale=>[:en], :formats=>[:js, :html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in:
  * "/home/johnny/Desktop/ror/pub_crawler/pub_crawler_1.2/app/views"
  * "/home/johnny/.rvm/gems/ruby-2.2.1@rails4.2/gems/devise-3.5.6/app/views"
):
    1: //does not work
    2: $('#search-result').html("<%= escape_javascript(render :partial => 'employees/search_result.html.erb') %>");
    3: 
    4: $('#search-result').html('<div class="col-3-md"><%= @user.user_type.name %></div> <div class="col-3-md"><%= @user.user_type.surname %></div> <div class="col-3-md"></div>');
  app/views/employees/search.js.erb:2:in `_app_views_employees_search_js_erb__3438283462284537863_70351967525560'
  app/controllers/employees_controller.rb:12:in `search'