私は多くの写真を含む 1 つの投稿を持っています。1 つのビューには 2 つのフォームがあり、1 つは標準の投稿フィールドを持ち、もう 1 つは非同期的に写真を pictures_controller に送信します。JavaScript で受け取った多くの ID を投稿フォームの非表示フィールドに追加し、post_controller ループで非表示フィールドから ID を送信した後、それを投稿モデルに関連付ける方法は? ステップ 3 (楽しい部分) を実行しようとしています: How to use JQuery-File-Upload to upload multiple images on one page during creating post? .
投稿ビュー:
= form_for @post do |f|
.field
= f.label :title
= f.text_field :title
.field
= f.label :description
= f.text_area :description
= f.hidden_field :picture_ids
.actions
= f.submit 'Save'
= form_for @picture, :html => { :multipart => true, :id => "fileupload" } do |f|
= f.file_field :image, :multiple => true
%ul.thumbnails.files
JavaScript (新しく受け取った ID を非表示フィールドに正しく追加する方法がわかりません。開始時に含まれるのは: のみです[]
):
$('#fileupload').fileupload({
...
completed: function(e, data) {
console.log(data.result[0].picture_id); //e.g. pure: 505e1d811e7bf2b815000139, 505d80181e7bf2b8150000ab etc.
$("#post_picture_ids").val(data.result[0].picture_id);
});
});
ポストコントローラー:
def create
@post = Post.new(params[:post])
#@post.picture_ids = params[:post][:picture_ids]
end
役職:
{"utf8"=>"✓",
"authenticity_token"=>"FZA1rg53Qc21MCkT4YMDdIrkttmiRmdoGhPC7HS8Fx8=",
"notify"=>{"title"=>"",
"description"=>"",
"picture_ids"=>"505e1d811e7bf2b815000139"},
"commit"=>"Save"}
Mongoid スロー エラー:undefined method 'compact' for #<Picture:0x007faf2513d810>