1

我想知道如何<% if statement %>在 Rails 视图中调用 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()它是因为我需要它成为列表中的第一个元素。

4

1 回答 1

0

我想你弄错了。

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

于 2012-12-10T21:10:02.383 回答