在更改我的数据库架构之前一切都很顺利
在:
...
t.string :skills, :string
...
后:
...
t.string :skills, array: true, default: '{}'
end
add_index :table_name, :skills, using: 'gin'
...
在日志控制台中,我可以看到params:
"project"=>{"skills"=>"Wordpress,OpenCart,Magneto","Spree Commerce"}
这部分我无法理解发生了什么(仍在控制台日志中):
SQL (0.8ms) INSERT INTO "projects"... ["skills", "{ordpress,\"OpenCart\",Magneto}"]
为什么WordPress中的“W”会被切断? “狂欢商业”在哪里?
我是否需要在索引列上添加其他内容?
我的控制器具有标准许可:skills
,模型project.rb
答案 0 :(得分:0)
因为我很懒,我找到了更好的路线。
我的项目控制人许可证参数只是标准:
...
def create
@project = current_user.projects.build(foo_params)
end
private
def foo_params
params.require(:project).permit(:a, :b, :skills)
end
...
我没有足够的技术知道如何允许哈希/数组,所以懒惰的方式是:
...
def create
par = (params["project"]["skills"]).split(",")
@project = current_user.projects.build(foo_params.merge({"skills" => par}))
end
private
def foo_params
params.require(:project).permit(:a, :b)
end
...
现在我有:
如果您有更好的方法,请告诉我。感谢。