gpt4 book ai didi

javascript - 在 respond_to 中呈现不同的 Javascript 文件

转载 作者:数据小太阳 更新时间:2023-10-29 06:28:24 25 4
gpt4 key购买 nike

我陷入了一个(显然)简单的问题。在我的 event_controller 中,我有 i_like_it 操作:

  def i_like_it
@event = Event.find(params[:id])

... # logic

respond_to do |format|
format.js
end
end

在我的例子中,“i_like_it”是用 :method => PUT 调用的(它是一个 Ajax调用,“i_like_it.js.erb”将作为脚本返回,它将是在浏览器上执行。)

我想渲染一个具有不同名称的 Javascript 文件(不是i_like_it.js.erb) ,但我没有在 Rails API 中找到任何选项文档。

respond_to do |format|
format.js { render ??? }
end

Rails 可以使用 :js 选项渲染 vanilla JavaScript,但我不想在 Controller 中使用 Javascript

你有什么建议吗?

谢谢,亚历山德罗DS

最佳答案

如果你这样做:

respond_to do |format|
format.js { render :action => "different_action" }
end

它将改为加载 RAILS_ROOT/app/views/your-controller/different_action.js.erb。

format.js block 只是确保如果它是一个 .js 请求,您默认设置了正确的 header ,并且它默认查找 .js.erb 或 .js 而不是 .html.erb。

您还可以使用 render :file 来渲染文件系统上恰好包含 JS 的任意文件,或者您可以使用 render 的任何其他常用选项。 There are a few of them .

关于javascript - 在 respond_to 中呈现不同的 Javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3539090/

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