0

次のように、Ruby on Rails でデータベース レコードを取得します。

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

私の JavaScript では、@amenities 内にあるレコードに対してクエリを実行したいと考えています。これは可能です。

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

これは可能ですか?そうでない場合、これを行う方法は何ですか?データベースから取得したアクティブなレコードを処理する必要があります。再度クエリを実行したり、@amenities に既にあるデータを再度取得するためだけに ajax を使用したりしたくありません。ありがとう!

4

2 に答える 2

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);
于 2013-08-15T10:22:18.150 に答える
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);
});
于 2013-08-15T09:50:38.773 に答える