Ruby on rails 在rails中的参数上迭代数组?
我陷入了一个非常简单的问题。我在视图中收到一个参数数组,并希望迭代这些值 这是我的参数的打印:Ruby on rails 在rails中的参数上迭代数组?,ruby-on-rails,Ruby On Rails,我陷入了一个非常简单的问题。我在视图中收到一个参数数组,并希望迭代这些值 这是我的参数的打印: Parameters: {"utf8"=>"✓", "authenticity_token"=>"dfOQVuXlQriII3akiGCSuMIf4i2B8c1/OX02nd6Dhy0ZKzHkhiXxlcXKCJAMFHw0vhtNKKVYuLHFo22LGsy6UQ==", "album"=>{"name"=>"asdasd", "photos_media"=>["[
Parameters: {"utf8"=>"✓", "authenticity_token"=>"dfOQVuXlQriII3akiGCSuMIf4i2B8c1/OX02nd6Dhy0ZKzHkhiXxlcXKCJAMFHw0vhtNKKVYuLHFo22LGsy6UQ==", "album"=>{"name"=>"asdasd", "photos_media"=>["[{\"id\":\"a245b724845f447eb63dfbaa3fba173669b55fcdf7fb55fb634707ff0c1c\",\"filename\":\"BWT_eUmU.jfif\",\"content_type\":\"image/jpeg\",\"size\":56060},{\"id\":\"1bfb4188a126079f5069c5204f8df1c7169d0464f488385ef1f8d081fcda\",\"filename\":\"drafts.png\",\"content_type\":\"image/png\",\"size\":6029}]"]}, "commit"=>"Save Album"}
我的相册参数如下:
def album_params
params.require(:album).permit(:name, photos_media: [])
end
logger.debug("******SIZE*** #{album_params[:photos_media].size} ")
我的表格:
<%= form_for @album do |f| %>
<div class="col-9">
<div class="form-group row" >
<div class="col-6">
<label for="">Name:</label>
<%= f.text_field :name %>
</div>
</div>
</div>
<div class="col-9">
<div class="form-group row" >
<div>
<div class="progress" id='progress-bar' style='display:none;'>
<div class="progress-bar progress-bar-striped active" role="progressbar" style="width: 0%"><h6>Loading...</h6>
<span class="sr-only" id='progress-bar-text'></span>
</div>
</div>
</div>
<div class="col-6">
<label for="">Add or drag photos here:</label>
<%= f.attachment_field :photos_media, multiple: true, direct: true, presigned: true %>
</div>
</div>
</div>
上面说尺寸是1。就像一根大绳子
我做错了什么 正如Valisa所说,
photo\u media
包含一个数组
,其中一个元素是字符串
:
"photos_media"=>["[{\"id\":\"a245b724845f447eb63dfbaa3fba173669b55fcdf7fb55fb634707ff0c1c\",\"filename\":\"BWT_eUmU.jfif\",\"content_type\":\"image/jpeg\",\"size\":56060},{\"id\":\"1bfb4188a126079f5069c5204f8df1c7169d0464f488385ef1f8d081fcda\",\"filename\":\"drafts.png\",\"content_type\":\"image/png\",\"size\":6029}]"]
具体来说,该string
是一个JSONstring
要在后端解析,您可以尝试:
@photo_media_ary = JSON.parse(album_params[:album][:photos_media][0])
看看你的参数,它实际上是一个字符串
“photos\u media”=>[“这里有一个长字符串,里面有一个数组]
。添加表单的代码,从中可以获得编辑和添加视图的参数