【发布时间】:2012-03-07 19:30:55
【问题描述】:
我在 Rails 2.3 中将 ruby 数组传递给 jquery 时遇到问题。将 ruby 数据传递给 jquery 的最佳实践是什么?下面我尝试编写一些响应 Rails 控制器和控制器操作的 jquery。
<% action_array = [params[:controller], params[:action]] %>
<script type="text/javascript">
$(document).ready( function() {
var path = <%= action_array.to_json %>;
if ( path[0] == "home" ) {
$('.home').addClass('gradientBGRed');
}
});
</script>
</head>
<body>
<ul id="headerNav" class="gradientBG">
<li class="home "><a href="/">Home </a></li>
<% if logged_in? %>
<li class="register "><a href="/account">Account </a></li>
<li class="login last"><a href="<%= logout_path %>">log out </a></li>
<% else %>
<li class="register "><a href="/customers/new">register </a></li>
<li class="login last "><a href="<%= login_path %>">log in </a></li>
<% end %>
</ul>
【问题讨论】:
-
看看 RailsCast 关于Passing data to JavaScript ;)
-
你试过 var path = "";或 var path = "#{action_array.to_json}";
-
@Raghu:这不是必需的,因为
to_json方法已经包含引号以使其工作
标签: javascript jquery ruby-on-rails ruby ruby-on-rails-2