为什么脚本会影响我的Rails 3应用程序上的所有内容,即使在此代码中也是如此?

时间:2013-04-07 21:30:13

标签: ruby-on-rails ruby ruby-on-rails-3

我有第三方脚本

<script type="text/javascript" src="http://thirdpartysite.com/front.asp?id=xxxx"></script>

脚本的作用是在图像上添加水印以显示其受版权保护。

这是我在视图中使用的代码,但无论如何,该脚本适用于所有帖子

<% if post.copyright == true %>      
    <script type="text/javascript" src="http://thirdpartysite.com/front.asp?id=xxxx"></script>
    <% else %>
    <% end %>

当我仅使用文本进行测试时,它可以正常工作

<% if post.copyright == true %>      
        Sample text here only applies to post where copyright==true
        <% else %>
        <% end %>

如何让脚本仅适用于某些帖子?

1 个答案:

答案 0 :(得分:0)

在您的评论中澄清后

是的,如果javascript中没有指定其他任何内容,则javascript将在整个页面范围内应用。

您需要执行以下操作:

<div class="post <%= 'copyright' if post.copyright%>">
  <img src="somesrc.jpg"></img>
</div>

然后将javascript仅应用于css选择器'div.copyright img'。有点像那样的东西。取决于javascript支持的内容或者您是否可以更改源代码。