Javascript 调用AJAX时,Rails 6生产处理html模板代替js

Javascript 调用AJAX时,Rails 6生产处理html模板代替js,javascript,ruby-on-rails,ajax,production,Javascript,Ruby On Rails,Ajax,Production,在使用ajax调用时,我在生产模式下遇到rails 6.1.1和ruby 2.7.2的问题,如下所示: 视图: create.js.erb $('#company_follow_<%=@company.id%>').html("<%= escape_javascript(render partial: "company_follows/follow_company", locals: {company: @company})%>")

在使用ajax调用时,我在生产模式下遇到rails 6.1.1和ruby 2.7.2的问题,如下所示:

视图:

create.js.erb

$('#company_follow_<%=@company.id%>').html("<%= escape_javascript(render partial: "company_follows/follow_company", locals: {company: @company})%>");
但在生产日志中为false,调用的是html模板,而不是js模板:

Processing by CompanyFollowsController#create as HTML
  Parameters: {"authenticity_token"=>"t9ahfM2knA1zSUGvQjAVCArbaqZIuQDg6p0vkekMab9tYqOU1PnzrZwAoKEmkToX9oKGLb6w7BpEx//RnGnq1Q==", "company_id"=>"grab-vietnam-ltd"}
  [1m[36mCompany Load (0.6ms)[0m  [1m[34mSELECT "companies".* FROM "companies" WHERE "companies"."slug" = $1 LIMIT $2[0m  [["slug", "grab-vietnam-ltd"], ["LIMIT", 1]]
  [1m[36mUser Load (0.5ms)[0m  [1m[34mSELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2[0m  [["id", 2], ["LIMIT", 1]]
  [1m[36mCompanyFollow Exists? (0.4ms)[0m  [1m[34mSELECT 1 AS one FROM "company_follows" WHERE "company_follows"."user_id" = $1 AND "company_follows"."company_id" = $2 LIMIT $3[0m  [["user_id", 2], ["company_id", nil], ["LIMIT", 1]]
  [1m[36mCACHE User Load (0.0ms)[0m  [1m[34mSELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2[0m  [["id", 2], ["LIMIT", 1]]
  [1m[36mTRANSACTION (0.3ms)[0m  [1m[35mBEGIN[0m
  [1m[36mCompanyFollow Create (0.7ms)[0m  [1m[32mINSERT INTO "company_follows" ("created_at", "updated_at", "company_id", "user_id") VALUES ($1, $2, $3, $4) RETURNING "id"[0m  [["created_at", "2021-04-18 15:08:22.212819"], ["updated_at", "2021-04-18 15:08:22.212819"], ["company_id", 8], ["user_id", 2]]
  [1m[36mTRANSACTION (2.7ms)[0m  [1m[35mCOMMIT[0m
Completed 406 Not Acceptable in 19ms (ActiveRecord: 5.2ms | Allocations: 3305)
  
ActionController::UnknownFormat (CompanyFollowsController#create is missing a template for this request format and variant.

request.formats: ["text/html"]
request.variant: []):
enter code here
有人能告诉我为什么我会遇到这个问题,我该如何解决它吗?
非常感谢你

您确定rails ujs/资产在生产中已正确加载吗?如果未加载rails ujs/@rails/ujs,则所有数据远程/数据方法都将不起作用。感谢您的评论,但我已将其添加到javascripts/pack/application.js中,并且生产不起作用。//=require jquery/=require jquery\u ujs如何确认在生产中加载的rails ujs?如果它工作,那么在生产站点的浏览器控制台中,您可以输入
$。rails
,这应该会对某些内容做出响应。通常,当产品中出现资产问题时,请确保:1。您的prod系统已安装nodejs,2。
rails-assets:precompile
运行时没有错误。@stwienert,当我更改application.js文件并使用capistrano部署时,rails-assets:precompile任务将构建新的js包,rails-ujs工作成功。但是,在下一次部署中,js包没有构建,rails ujs失败。您知道如何在每个部署任务中强制重建js包吗?非常感谢。
$('#company_follow_<%=@company.id%>').html("<%= escape_javascript(render partial: "company_follows/follow_company", locals: {company: @company})%>");
$('#company_follow_<%=@company.id%>').html("<%= escape_javascript(render partial: "company_follows/follow_company", locals: {company: @company}) %>");
    Processing by CompanyFollowsController#create as JS
  Parameters: {"authenticity_token"=>"l4rFeqGv3b7AdtOLgiKSsQAvE2SikWk1rF865W6JGz7PIf737tLIXXd/kl4vbG09FiDgZxHgz1N2Agm6Px4j/w==", "company_id"=>"fpt"}
  Company Load (0.7ms)  SELECT "companies".* FROM "companies" WHERE "companies"."slug" = $1 LIMIT $2  [["slug", "fpt"], ["LIMIT", 1]]
  ↳ app/controllers/company_follows_controller.rb:15:in `create'
  User Load (0.7ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2  [["id", 1], ["LIMIT", 1]]
  ↳ app/helpers/session_helper.rb:15:in `current_user'
  CompanyFollow Exists? (0.6ms)  SELECT 1 AS one FROM "company_follows" WHERE "company_follows"."user_id" = $1 AND "company_follows"."company_id" = $2 LIMIT $3  [["user_id", 1], ["company_id", nil], ["LIMIT", 1]]
  ↳ app/controllers/company_follows_controller.rb:55:in `already_followed?'
  CACHE User Load (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2  [["id", 1], ["LIMIT", 1]]
  ↳ app/controllers/company_follows_controller.rb:20:in `create'
  TRANSACTION (0.4ms)  BEGIN
  ↳ app/controllers/company_follows_controller.rb:20:in `create'
  CompanyFollow Create (0.7ms)  INSERT INTO "company_follows" ("created_at", "updated_at", "company_id", "user_id") VALUES ($1, $2, $3, $4) RETURNING "id"  [["created_at", "2021-04-18 08:53:09.700773"], ["updated_at", "2021-04-18 08:53:09.700773"], ["company_id", 5], ["user_id", 1]]
Processing by CompanyFollowsController#create as HTML
  Parameters: {"authenticity_token"=>"t9ahfM2knA1zSUGvQjAVCArbaqZIuQDg6p0vkekMab9tYqOU1PnzrZwAoKEmkToX9oKGLb6w7BpEx//RnGnq1Q==", "company_id"=>"grab-vietnam-ltd"}
  [1m[36mCompany Load (0.6ms)[0m  [1m[34mSELECT "companies".* FROM "companies" WHERE "companies"."slug" = $1 LIMIT $2[0m  [["slug", "grab-vietnam-ltd"], ["LIMIT", 1]]
  [1m[36mUser Load (0.5ms)[0m  [1m[34mSELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2[0m  [["id", 2], ["LIMIT", 1]]
  [1m[36mCompanyFollow Exists? (0.4ms)[0m  [1m[34mSELECT 1 AS one FROM "company_follows" WHERE "company_follows"."user_id" = $1 AND "company_follows"."company_id" = $2 LIMIT $3[0m  [["user_id", 2], ["company_id", nil], ["LIMIT", 1]]
  [1m[36mCACHE User Load (0.0ms)[0m  [1m[34mSELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2[0m  [["id", 2], ["LIMIT", 1]]
  [1m[36mTRANSACTION (0.3ms)[0m  [1m[35mBEGIN[0m
  [1m[36mCompanyFollow Create (0.7ms)[0m  [1m[32mINSERT INTO "company_follows" ("created_at", "updated_at", "company_id", "user_id") VALUES ($1, $2, $3, $4) RETURNING "id"[0m  [["created_at", "2021-04-18 15:08:22.212819"], ["updated_at", "2021-04-18 15:08:22.212819"], ["company_id", 8], ["user_id", 2]]
  [1m[36mTRANSACTION (2.7ms)[0m  [1m[35mCOMMIT[0m
Completed 406 Not Acceptable in 19ms (ActiveRecord: 5.2ms | Allocations: 3305)
  
ActionController::UnknownFormat (CompanyFollowsController#create is missing a template for this request format and variant.

request.formats: ["text/html"]
request.variant: []):
enter code here