2011-05-10 49 views
2

在Rails,对页面特定的JavaScript常见的成语是:的Javascript,Rails的意见,content_for和干燥

(布局)

<head> 
    <% yield :javascript %> 
</head> 

(图)

<% content_for :javascript do %> 
    <script type="text/javascript"> 
    $().whatever; 
    </script> 
<% end %> 

我恨重复脚本标签。有什么理由为什么以下是一个坏主意?

(布局)

<head> 
    <script type="text/javascript"> 
    <% yield :javascript %> 
    </script> 
</head> 

(图)

<% content_for :javascript do %> 
    $().whatever; 
<% end %> 
+0

你可以把''

2

成语是巨大的,所有的,但最重要的是你和你的团队的生产率并保持事物的能力,如果你好吧,我也没有看到任何问题。也就是说,我之前完成了这个任务,并且还在项目中看到了它,但现在我通常会将其放在脚本文件中,除非我必须在特定页面中使用它。

+1

我同意。我会把它放在一个whatever.js文件中,并且:<%content_for:javascript do - %><%= javascript_include_tag'whatever'%><% end -%>' – Mischa 2011-05-10 15:02:38

+0

但是AIUI不能渲染.html的.js视图, ?您仍然必须将其称为.html.erb?出于某种原因,这真的让我感到不安。 – 2011-05-10 15:36:47

1

如果你想简化你的观点,我强烈推荐HAML(它是姐姐SASS的CSS)。有一点点的学习曲线,你可能不想立即转换你现有的所有观点,但我怀疑你是否会想回到丑陋的ERB。

在HAML,这看起来像:

= content_for :head do 
    :javascript 
    $().whatever;