【发布时间】:2008-11-25 19:20:49
【问题描述】:
有没有办法让 drop_receiving_element 不生成 "// ..
【问题讨论】:
标签: ruby-on-rails ruby scriptaculous
有没有办法让 drop_receiving_element 不生成 "// ..
【问题讨论】:
标签: ruby-on-rails ruby scriptaculous
drop_receiving_element 的代码是
def drop_receiving_element(element_id, options = {})
javascript_tag(drop_receiving_element_js(element_id, options).chop!)
end
javascript_tag 是添加脚本标签的地方,所以看起来你应该可以将它们排除在外,然后自己输入。
drop_receiving_element_js(element_id, options).chop!
注意:它可能是私有方法,在这种情况下只需使用
send(:drop_receiving_element_js, element_id, options).chop!
【讨论】:
我不确定你想要实现什么(脚本助手工作是在标签中编写脚本)。但是,如果您想要将代码放在其他地方,例如页面底部,因为上次加载 javascript 会使页面看起来更快,您可以使用content_for。
<% content_for :inline_javascript do %>
<%# Script helpers here %>
<% end %>
然后在底部(或任何你想要的地方),放置这条线:
<%# Include tags for other Js code the inline scripts rely on above here %>
<%= yield :inline_javascript %>
这不适用于异步内容 (ajax),但另一方面,当您使用 ajax 内容更新页面时,包含的其他脚本已全部加载。
(您可以编写自己的助手,根据请求类型,使用 content_for 变量或内联编写脚本标签。我之前做过一个,如果您需要我可以尝试定位它)
【讨论】: