javascript - 缺少带有 rails 6 和 respond_to 的模板 Jquery
问题描述
我正在尝试呈现一个 ajax 请求以收藏广告,但缺少模板错误显示如下,而我将 '''remote: true''' 添加到 '''link_to''' 并为导轨 6 用纱线。
这是错误消息:
FavoritesController#update 缺少此请求格式和变体的模板。request.formats: ["text/html"] request.variant: []
这是我的代码:
javascript/packs/application.js
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("@rails/ujs").start()
require("jquery")
配置/webpack/environment.js
const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
environment.plugins.prepend('Provide',
new webpack.ProvidePlugin({
$: 'jquery/src/jquery',
jQuery: 'jquery/src/jquery'
})
)
module.exports = environment
控制器/favorites_controller.rb
class FavoritesController < ApplicationController
def update
favorite = Favorite.where(annonce: Annonce.find(params[:annonce]), user: current_user)
if favorite == []
Favorite.create(annonce: Annonce.find(params[:annonce]), user: current_user)
@favorite_exists = true
else
favorite.destroy_all
@favorite_exists = false
end
respond_to do |format|
format.html {}
format.js {}
end
end
end
控制器/application_controller.rb
class ApplicationController < ActionController::Base
def favorite_text
return @favorite_exists ? "Retirer des favoris" : "Favoris"
end
helper_method :favorite_text
end
意见/收藏夹/update.js.erb
$('#favorite_link').text("<%= favorite_text %>");
意见/公告/show.html.erb
<%= link_to favorite_text, favorites_update_path(annonce: @annonce), id: "favorite_link", remote: true %>
解决方案
推荐阅读
- php - 从两个表中获取 PHP MYSQL 查询
- mysql - 每天查看计数器的 SQL 数据库结构
- ruby-on-rails - Rails get list of routes as paths with parameters
- javascript - javascript - 获取一周中第二天的日期?
- javascript - MUI 数据表未注册选项
- vagrant - 使用 salt 来确定 Vagrant 主机的 IP?
- python - 多处理池的 Jupyter 笔记本问题
- node.js - 有没有办法根据 loadSync 方法使用的选项生成 pb 文件?
- r - 如何在ggplot2中按构面对图例进行分组或获取单独的图例
- google-cloud-platform - 我的 gcloud 服务器在安装 cpanel 后 1 小时后停止