Ruby on rails Rails4 PG hstore未经允许的参数:数据

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

我有一个使用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_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键回答。