0

Rails で form_tags を使用し、アプリケーションに MongoDB を使用しています。

form_tag を使用して、このような post メソッドを使用して params[:ids] を取得しています

["5262353ebd521b131a000010", "526b47f8bd521bd1b3000002"]

そして、この params[:id] を hidden_​​field として保存しています

<%= f.hidden_field :ids, :value => params[:ids].join(","), :multiple => true %>

しかし、このようにMongoDBに保存します

"ids" : [
        "5262353ebd521b131a000010,526b47f8bd521bd1b3000002"
    ],

しかし、これの代わりに、次のように保存する必要があります。

"ids" : [
        "5262353ebd521b131a000010","526b47f8bd521bd1b3000002"
    ],

二重引用符付き、単一のIDの場合は正常に機能します。複数の値の場合、上記のように保存されません。

この点で私を助けてください。

4

3 に答える 3

1

各値の非表示フィールドを作成して、コントローラーに投稿するときに配列として取得することができます。

<% params[:ids].each do |id| %>
  <%= hidden_field_tag "ids[]", id %>
<% end %>

これにより、アクションで配列を取得し、params[:ids] をモデルに直接保存できます。

于 2013-10-26T06:35:46.417 に答える
1

これを試してください<%= f.hidden_field :ids, :value => params[:ids].join('","'), :multiple => true %>

于 2013-10-26T06:45:54.103 に答える
0
<% params[:ids].each do |id| %>
   <%= f.hidden_field :ids, :value => id, :multiple => :true %>
<% end %>

これは機能し、私のMongoDBは、

   "ids" : [
        ObjectId("526b47f8bd521bd1b3000002"),
        ObjectId("5262353ebd521b131a000010")
    ],

Cheers!!!
于 2013-10-26T06:58:39.057 に答える