我对RubyonRails非常陌生,从来没有真正擅长写JavaScript,所以内置的助手就像天堂的一个小精灵。
不过,我最近了解到,使用helper方法会创建“突兀的javascript”,因此我正在进行一点重构,以使所有这些乱七八糟的代码脱离我的视线。我还使用原型API来计算所有这些函数的作用。
现在,我有:
<%= periodically_call_remote(:url => {:action => "tablerefresh", :id => 1 }, :frequency => '5', :complete => "load('26', 'table1', request.responseText)")%>
产生:
<script type="text/javascript">
//<![CDATA[
new PeriodicalExecuter(function() {new Ajax.Request('/qrpsdrail/grids/tablerefresh/1', {asynchronous:true, evalScripts:true, onComplete:function(request){load('26', 'table1', request.responseText)}, parameters:'authenticity_token=' + encodeURIComponent('dfG7wWyVYEpelfdZvBWk7MlhzZoK7VvtT/HDi3w7gPM=')})}, 5)
//]]>
</script>
我担心的是“编码组件”和“真实性标记”的存在是由Rails生成的。我假设这些是用来保证请求的有效性的。(确保请求来自当前活动会话?)
如果是这样,我如何在application.js“safety”中实现这一点?似乎内置方法虽然突兀,但确实增加了一些有益的安全性。
提前感谢所有回答者。