如何在Rails视图中调用条件内的javascript函数?

时间:2012-12-10 21:06:57

标签: javascript ruby-on-rails

我想知道如何在Rails视图中的<% if statement %>内调用JavaScript函数。我真的不知道它是否可能。

home.html.erb:

<script type="text/javascript"> 
function my_javascript_function() {
    return false;
}
</script>

<!-- some code before -->
<% if my_javascript_function %>
    <li>
        <a href="/link/">
            Link
        </a>
    </li> 
<% end %>
<!-- some code after -->

更新: 在陈的回答之后,我意识到我所做的是错误的,而不是使用<% if statement %>来创建我的元素,我现在只是使用jQuery。代码最终如下:

$(document).ready(function() {
    if(/* my_conditions */) {
        $('#my_list_element').prepend('<li><a href="/link/">Link</a></li>');
    }
});

因此,当页面加载时,它会从javascript(jQuery)创建我的元素。就我而言,我使用了.prepend(),因为我需要它作为列表中的第一个元素。

1 个答案:

答案 0 :(得分:0)

我认为你弄错了。

Javascript在客户端呈现,而rails部分在服务器端呈现。当服务器尝试呈现“if”语句时,它对javascript函数一无所知。