我想知道如何在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()
,因为我需要它作为列表中的第一个元素。
答案 0 :(得分:0)
我认为你弄错了。
Javascript在客户端呈现,而rails部分在服务器端呈现。当服务器尝试呈现“if”语句时,它对javascript函数一无所知。