繁体   English   中英

如何将jquery数组从rails控制器传递到postgresql数组列

[英]how to pass jquery array from rails controller to postgresql array column

在我的项目中,我使用Ajax将javascript数组传递给Rails控制器。 很好 该javascript数组包含上传图片名称。 在我的postgresql数据库中,我有数组列名图像。 在Rails控制器中,我尝试这样

@usr_vendor_web_slide.images = params[:A]
@usr_vendor_web_slide.save

参数被传递给控制器​​,这是艰巨的工作。

*******["sm12.png", "sm13.png", "sm11.png"]******

但是在数据库映像中,名称数组不会传递给数据库。 在终端

["images", #<struct 
ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Array::Data encoder=#
<PG::TextEncoder::Array:0x5
7c6b10 "string[]"  elements_type=nil needs quotation>, values=[]>]]

感谢您的想法和帮助

1-编写迁移以添加text类型的列images :-

add_column :your_table_name, :images, :text

2-在模型中将此列序列化为数组类型

Class YourModel < ActiveRecord::Base
  serialize :images, Array
end

3-现在,如果您要检查rails colsole

YourModel.new

=> #<YourModel:0x00000005bdac68
 id: nil,
  ......
 images: [],
 ....>

4-现在您可以将数据保存到此数组类型列中:

   @usr_vendor_web_slide.images.push(params[:A])
   @usr_vendor_web_slide.save

注意:使用迁移的数组类型列可能不适用于某些数据库,但是通过序列化将完美地工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM