Ruby on rails Rails4 PG hstore未经允许的参数:数据
我有一个使用PG hstore的Rails4应用程序 这是从控制台: 这是车辆控制器:Ruby on rails Rails4 PG hstore未经允许的参数:数据,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我有一个使用PG hstore的Rails4应用程序 这是从控制台: 这是车辆控制器: def vehicle_params params.require(:vehicle).permit(:description, :stufftype_id, :name, :tenant_id, :count, :manufacturer, :man_date, :purchase_date, :purchase_price, :current_price, :warranty_dat
def vehicle_params
params.require(:vehicle).permit(:description, :stufftype_id, :name, :tenant_id, :count, :manufacturer, :man_date, :purchase_date, :purchase_price, :current_price, :warranty_date, :model, :notes, :site_id, :sell, :loaned, :borrowed, :sell_to, :borrowed_from, :sale_id, :sale_price, :sold_amount, :sold, :archive, :vendor_id, :loaned_to, :data)
end
它包含:数据
那么,为什么数据是不允许的参数呢
谢谢你的帮助 当您在强参数中允许:data
时,它只允许标量值
标量值的类型可以是String
,Symbol
,NilClass
,Numeric
,TrueClass
,false class
,Date
,DateTime
,StringIO
,ActionDispatch::Http::UploadedFile
和Rack::Test::UploadedFile
如strong parameters文档中所述:
这意味着不允许按原样为参数哈希中的:data
传递哈希
您要寻找的是一种允许嵌套参数的方法。文档中还描述了:
如果您的hstore密钥是动态的,您可以使用以下问题中描述的方法自己将动态哈希列为白名单:
希望能有所帮助。谢谢-我使用了rails 4强参数+动态hstore键回答。