查询rails上的活动记录ruby



我在ruby on rails中检索数据库记录,如下所示:

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

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

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

这可能吗?如果没有,有什么方法可以做到这一点?我需要处理从数据库中检索的活动记录。我不想再次查询,也不想使用ajax来再次提取已经在我的@facilities中的数据。谢谢

您可以使用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);
});

也许您可以将您的便利设施以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);

最新更新