gpt4 book ai didi

javascript - escape_javascript 在 Rails 中无法正常工作

转载 作者:行者123 更新时间:2023-11-30 13:28:03 24 4
gpt4 key购买 nike

我在使用不显眼的 javascript 时遇到了问题。在我的 TwitterAccountController 中,我有:

def unshare
@twitter_account = TwitterAccount.find(params[:id])
#@twitter_account.update_attribute(:message_enabled, true)
respond_to do |format|
format.html { redirect_to @twitter_account.user }
format.js # responds to TwitterAccount/share.js.erb
end
end

当您在我的 View 中单击名为“unshare”的按钮时会发生什么

响应的 unshare.js.erb 是:

var div_name = '<%="div#share_form_#{@twitter_account.id}"%>'
$(div_name).html("<%= escape_javascript(render(:partial => 'shared/share', :locals => {:twitter_account => @twitter_account}))%>");

假设将按钮从“取消共享”按钮切换为“共享”按钮。但是当单击“取消共享”按钮时,这是从 escape_javascript 生成的代码:

<form accept-charset=UTF-8 action=/twitter_accounts/1/share data-remote=true method=get>
<div style=margin:0;padding:0;display:inline><input name=utf8 type=hidden value=&#x2713; />
div>
<input name=commit type=submit value=share />
form>

你可以看出结束标签是乱七八糟的,有人知道这是什么原因吗???

我的 javascript_include_tag 是:

<%= javascript_include_tag 'jquery.min.js', "rails.js", "d3.js","d3.time.js", "raphael.js", "collapse_menu.js" %>

分享部分:

<%= form_tag(share_twitter_account_path(twitter_account), :method => 'get', :remote => true) do %>
<%= submit_tag "share"%>
<% end %>

最佳答案

我想我有同样的问题,只是改变了

$(div_name).html("<%= escape_javascript(render(:partial => 'shared/share', :locals => {:twitter_account    => @twitter_account}))%>");

对于

$(div_name).html('<%= escape_javascript(render(:partial => "shared/share", :locals => {:twitter_account    => @twitter_account}))%>');

这只是颠倒了单引号/双引号的方式。值得一试:)

关于javascript - escape_javascript 在 Rails 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7815457/

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