[英]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.