在rails上查询活动记录ruby

时间:2013-08-15 09:40:45

标签: ruby-on-rails activerecord

我在轨道上的ruby中检索数据库记录,如下所示:

@amenities = AmenitiesAndFeatures.where(is_amenities: true).order("name ASC")

在我的javascript中,我想查询@amenities中的记录。这可能。

var x = 1
var amenity = <%@amenities.select("name").where(id: x)%>

这可能吗?如果没有,有什么方法可以做到这一点?我需要处理从数据库中检索的活动记录。我不想再次重新查询或使用ajax只是为了再次提取已存在于@amenities中的数据。谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用json格式将所需数据放到页面一次,您可以根据需要定义任意数量的变量。

在您的控制器中:

@amenities = AmenitiesAndFeatures.where(is_amenities: true).order("name ASC")

@amenities_json = @amenities.to_json
在您的页面中

var amenities = <%= @amenities_json.html_safe %>;

$.each(amenities, function(index, amenity){
   alert(amenity.name);
});

答案 1 :(得分:1)

也许您可以发送您的设施以json格式查看并使用hidden_​​field存储您的数据。

#controller
@amenities = AmenitiesAndFeatures.where(is_amenities: true).order("name ASC")
@amenities_json = @amenities.map {|amenity| {id: amenity.id, name: amenity.name} }.to_json

#view
<%= hidden_field_tag "amenities_json", @amenities_json %>

#javascript
var amenities = JSON.parse($("#amenities_json")[0].value);