gpt4 book ai didi

javascript - 如何调用 .js.erb 文件而不是 .rjs 文件

转载 作者:行者123 更新时间:2023-11-28 01:43:15 32 4
gpt4 key购买 nike

我正在努力从 Prototype 迁移到 jQuery,我们还必须尽可能删除 .rjs 文件。这里有一个问题:

我在 app/views/results 文件夹中找到了 update_overall_comment.rjs 文件:

page.replace 'overall_comment', :partial => 'results/marker/overall_comment', :locals =>  {:result => @result}
page.visual_effect(:highlight, 'overall_comment_text_area', :startcolor => '#BDFCC9')

app/views/results/markers 文件夹中的 _overall_comment.html.erb 文件:

<div id="overall_comment">
<div id="overall_comment_edit">
<%= form_for @result,
:remote => true,
:url => { :action => 'update_overall_comment', :id => @result.id } do |f| %>
<%= f.text_area :overall_comment,
:cols => 50,
:rows => 5,
:id => 'overall_comment_text_area',
:onkeydown => "$('overall_comment_submit').enable();" %>
<div>
<%= f.submit t(:save_changes),
:disable_with => I18n.t('working'),
:disabled => true,
:id => "overall_comment_submit"%>
</div>
<% end %>
</div>
</div>

以及app/controllers文件夹中的results.controller.rb文件(我只是展示相关函数):

def update_overall_comment
@result = Result.find(params[:id])
@result.overall_comment = params[:result][:overall_comment]
@result.save
end

我想了解的第一件事是如何将 .rjs 文件转换为 .js.erb。我删除了它并创建了 update_overall_comment.js.erb (在同一文件夹中),其中仅包含 console.log('...'),但我从未见过调用的 console.log。

你有什么想法吗?

提前谢谢您。

最佳答案

update_overall_comment.rjs重命名为update_overall_comment.js.erb

然后在此文件中:

$('#overall_comment').html("<%= j(render 'results/marker/overall_comment') %>");
$('#overall_comment_text_area').effect("highlight", { color: "#BDFCC9" }, 3000);

附:不确定突出显示,也为了验证 js.erb 文件是否被调用/渲染,我使用 alert('something here'); 而不是 console('...') ;,但是为了测试 ajax 调用,这应该没有太大区别。

关于javascript - 如何调用 .js.erb 文件而不是 .rjs 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20629067/

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