Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在RubyonRails中使用自定义路由构建嵌套的params散列?_Ruby On Rails - Fatal编程技术网

Ruby on rails 如何在RubyonRails中使用自定义路由构建嵌套的params散列?

Ruby on rails 如何在RubyonRails中使用自定义路由构建嵌套的params散列?,ruby-on-rails,Ruby On Rails,我有一条路线是这样的: get':q',to:'foo#bar' 我可以通过以下方式在foo_控制器内访问它: 参数[:q] 是否可以嵌套params散列,以便它可以通过以下方式访问它: params[:namespace][:q]是的,这是可能的,而且非常容易做到。 1.正确声明嵌套资源的路由。请参阅下面的链接1 在强参数中允许嵌套属性。像这样: params.require(:abc).permit(:name,:email,custome_属性:{:id,:_delete,:name})

我有一条路线是这样的:

get':q',to:'foo#bar'

我可以通过以下方式在foo_控制器内访问它:

参数[:q]

是否可以嵌套params散列,以便它可以通过以下方式访问它:


params[:namespace][:q]
是的,这是可能的,而且非常容易做到。 1.正确声明嵌套资源的路由。请参阅下面的链接1

  • 在强参数中允许嵌套属性。像这样:

    params.require(:abc).permit(:name,:email,custome_属性:{:id,:_delete,:name})

  • 请记住:id和:\如果要删除嵌套资源,则必须删除。现在使用rails表单生成器构建表单。遵循下面的第二个链接

    请阅读以下教程:


    params散列的结构与路由无关。相反,它只取决于客户端发送的查询字符串或请求体(归结为链接/表单)。
    get:q
    所做的是创建一条与路径
    /q
    匹配的路由。您可以通过将输入命名为
    [foo][bar]baz
    来嵌套输入,然后将该机架反序列化为嵌套哈希。你可以通过学习来实现这一点,但你应该首先真正掌握基本原理。