javascript - Rails respond_to 抛出 ActionController::UnknownFormat
问题描述
所以,我试图用一个 js 文件来响应一个动作。
def my_schedule
respond_to do |format|
format.js
end
end
在我看来,我有'my_schedule.js.erb',但它甚至没有被执行,rails 在控制器中坏了并给我一个错误:ActionController::UnknownFormat,我有 response_to。
我试图添加
respond_to :js, :json, :html
在我的控制器开始时退出操作但仍然无法正常工作。需要帮助来调试它并了解 respond_to 是如何工作的。
解决方案
format.js
只会响应 xhr 请求。您不能仅通过导航到指向此控制器和方法的路由来触发此响应。
您可以js.erb
通过将 respond_to 块更改为
def my_schedule
respond_to do |format|
format.html
format.js
end
end
然后在与 js.erb 相同的视图文件夹中创建一个 my_schedule.html.erb 文件,内容如下
<%= link_to 'Test', my_schedule_path, data: { remote: true } %>
请注意,您可能需要调整该路径,我只是在猜测。
然后导航到您之前尝试的相同路径。您应该会看到一个链接,单击该链接将触发 js 响应。
推荐阅读
- python-3.x - pip3:“ ModuleNotFoundError:没有名为'pip._vendor.cachecontrol'的模块”
- asp.net-mvc - C# MVC App Login with Microsoft 只能使用一次
- ios - 如何使用 JSON 刷新 SwiftUI 中的小部件
- python - 如何在 for 循环后将值附加到特定列表?
- c# - 用 ControllerBase.TryValidateModel 替换 ApiController.Validate
- html - 如何使用 Angular 并排添加 2 个 Title 元素?
- flutter - 在 vs 代码中颤动的包导入问题
- c# - 具有未加密 HTTP2 连接的 .Net Core 3.1 gRPC 客户端
- pseudocode - 最大子数组和最坏情况场景
- javascript - 如何动态获取/设置组件大小