gpt4 book ai didi

javascript - 如何在Rails中仅渲染js而不渲染html(模板,布局)

转载 作者:行者123 更新时间:2023-12-02 23:40:45 24 4
gpt4 key购买 nike

我有 Controller Message_Controller,这个 Controller 在这个方法中有方法“message”,我想渲染.js.erb文件,我需要从rails Controller 调用js函数。我需要在没有html模板(布局)的情况下重新渲染它,只需js-在此代码中的代码我将使用 args 调用 js-function 。如何制作它?

我的路线:

 post 'chat_bot/message', to: 'chat_bot#message'

我的 Controller :

class ChatBotController < ApplicationController
layout false

def message
#gon.watch.message = params[:text]
@message = params[:text]
puts @message
render partial: 'message.js.erb', layout: false
end


end

我的 message.js.erb 文件

alert('<%=@message %>');

最佳答案

render partial: 'message.js.erb', layout: false

Rails 将在响应该 Controller 的文件夹中查找名为 _message.js.erb 的部分。

您可以使用 respond_to 并指定格式和要呈现的内容:

def message
respond_to do |format|
format.html { render partial: 'message.js.erb' }
end
end

如果您愿意,可以跳过实例变量分配,因为您可以访问请求中的参数。

如果您的想法是“评估”警报,那么它仍然应该位于脚本标记内:

<script>
alert("<%= params[:text] %>");
</script>

关于javascript - 如何在Rails中仅渲染js而不渲染html(模板,布局),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56090648/

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