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 に答える