假设我有一个非常简单的表,它只有一个几何列(点),用户可以更新:
CREATE TABLE m_point (
id int(11) NOT NULL AUTO_INCREMENT,
point geometry NOT NULL,
deleted_at datetime DEFAULT NULL,
created_at datetime DEFAULT NULL,
updated_at datetime DEFAULT NULL,
PRIMARY KEY (id) )
我如何使用导轨插入其中,因为几何列需要实际几何?
我原以为这会起作用:
loc = MPoint.new
loc.point = "POINT(#{params[:x]},#{params[:y]})"
loc.save!
但我得到了错误:
Mysql2::Error: Cannot get geometry object from data you send to the GEOMETRY field: INSERT INTO `m_point` (`point`) VALUES ('POINT(35, 10)')
因为 POINT(X,Y) 被视为轨道作为字符串。如何获得它以便 rails 接受 POINT(#{params[:x]},#{params[:y]}) 作为未引用的命令?
是的,这样做很简单INSERT
,但我想知道除了安装 gem 之外,是否还有其他方法可以让它与 rails 一起使用。