true"的情况下将操作渲染为 JS?-6ren"> true"的情况下将操作渲染为 JS?-在 View 中,我有一个称为 AJAX 的链接: = link_to "Show post", post, :remote => true 以及 Controller 中的操作: def sho-6ren">
gpt4 book ai didi

javascript - Rails - 如何在不使用 ":remote => true"的情况下将操作渲染为 JS?

转载 作者:行者123 更新时间:2023-11-28 07:39:50 26 4
gpt4 key购买 nike

在 View 中,我有一个称为 AJAX 的链接:

= link_to "Show post", post, :remote => true

以及 Controller 中的操作:

  def show
respond_to do |format|
format.js
end
end

当我单击此链接时,请求将作为 AJAX 调用,并显示一个包含相应内容的弹出窗口。此外,所需的地址也会添加到 URL 中(例如 web.com/posts/6)。

到目前为止一切顺利。

但是现在,当我尝试输入 URL web.com/posts/6 时,我只收到一条错误消息:

Processing by PostsController#show as HTML
Parameters: {"id"=>"6"}
Post Load (0.6ms) SELECT `posts`.* FROM `posts` WHERE `posts`.`id` = 6 LIMIT 1
Completed 406 Not Acceptable in 535ms

ActionController::UnknownFormat (ActionController::UnknownFormat):
app/controllers/posts_controller.rb:14:in `show'

我试图实现这一点,当我将 URL web.com/posts/6 输入浏览器时,页面将以与单击带有以下内容的链接相同的方式呈现: :remote => true 选项。

如何做到这一点?如何强制 Controller 中的 Action 渲染为 JS?

谢谢。

最佳答案

使用此链接(基本上只需将格式 .js 添加到末尾):

web.com/posts/6.js

这也适用于您想要的任何其他类型的格式(例如 jsonxml)。只需确保在 Controller 操作中考虑到这些格式即可。

关于javascript - Rails - 如何在不使用 ":remote => true"的情况下将操作渲染为 JS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28197661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com