Parameters Rails 5,访问参数散列

Parameters Rails 5,访问参数散列,parameters,ruby-on-rails-5,strong-parameters,Parameters,Ruby On Rails 5,Strong Parameters,我想我在这里失去了它。。。所以我有一个params散列,我想在控制器中使用它: 参数: {“utf8”=>“✓", "_方法“=>”补丁“、”真实性令牌“=>”等CETC“、”扫描“=>”{“1”=>{“扫描id”=>“40”、“组织id”=>“1”、“选择扫描”=>“false”、“role”=>”}、“2”=>{“扫描id”=>“40”、“组织id”=>“2”、“选择扫描”=>“false”、“role”=>”}、“3”=>{“扫描id”=>“40”、“组织id”=>“3”、“选择扫描”=

我想我在这里失去了它。。。所以我有一个params散列,我想在控制器中使用它:

参数: {“utf8”=>“✓", "_方法“=>”补丁“、”真实性令牌“=>”等CETC“、”扫描“=>”{“1”=>{“扫描id”=>“40”、“组织id”=>“1”、“选择扫描”=>“false”、“role”=>”}、“2”=>{“扫描id”=>“40”、“组织id”=>“2”、“选择扫描”=>“false”、“role”=>”}、“3”=>{“扫描id”=>“40”、“组织id”=>“3”、“选择扫描”=>“false”、“role”=>”,“description”=>“nice!”,“expert”=>“for dummies”,“decentralisation”=>“0”},“commit”=>“Update Scan”,“id”=>“40”}

现在,如果返回到我的视图实例变量,值为:

@q = params[:id]
这给了我40分,正如预期的那样

@q = params['id']
也给我“40”

但是,这是我可以访问的唯一参数值?其他每个值都给我nil,或者一个类似以下的错误:

 @q = params[:scan][:number] # => undefined method `[]' for nil:NilClass
@q = params['scan']['1'][:role] # => undefined method `[]' for nil:NilClass
    @q = params[:scan].to_a # => []
@q = params[:scan].class # => NilClass

我读过关于强参数的文章,所有参数都是允许的,但仍然没有返回值?

只是一个问题,但据我所知,您的哈希结构在引号(“”)下,您试图使用符号(:)访问它,而不使用“无关”访问

e、 g:


试试看。

No go,only
params[:id]
(和/或
params[“id”]
)返回一个值。但好消息是,我现在确实成功地从params散列创建/保存了具有属性值的对象,所以解决这个谜题的冲动已经减弱了。不过,我真的很想知道这里发生了什么。。
@q = params['scan']['number'] 
@q = params['scan']['1']['role'] 
@q = params['scan'].to_a
@q = params['scan'].class