首页 > 解决方案 > Rails form_with(远程)看不到现有模板

问题描述

发布的导轨形式

<%= form_with url: search_results_labours_path do |f| %>

由控制器处理,但未能返回预期的 XHR 响应

Started POST "/labours/search_results" for ::1 at 2021-02-12 10:12:46 +0100
Processing by LaboursController#search_results as JS
[...]

ActionController::UnknownFormat (LaboursController#search_results is missing a template for
this request format and variant.

request.formats: ["text/javascript", "*/*"]
request.variant: []):

然而,模板确实存在模板确实存在

它称为部分_search_results.html.erb

$("div#search_results").html("<%= j render ('labours/results') %>").css({ opacity: 0 }).fadeTo('slow',1);

def search_results  
  @labours = Labour.order(usercontract_id: :asc).where('time_start >= ?', params[:labour][:date_start].to_date.at_beginning_of_day ).all
  index_personnel
end

为什么 rails 看不到该操作的模板?

更新

将表单更改为远程

<%= form_with(url: search_results_labours_path, local: true) do |f| %>

并完全按预期将部分处理为非部分search_results.html.erb处理,确认问题出在感知文件的存在上search_results.js.erb,该拼写通过控制台列出所有文件。

-rw-r--r--@  1 deploy  staff   105 12 Feb 10:10 search_results.js.erb

标签: ruby-on-rails

解决方案


推荐阅读