Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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 &引用;“冒号”;Ruby中的符号_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails &引用;“冒号”;Ruby中的符号

Ruby on rails &引用;“冒号”;Ruby中的符号,ruby-on-rails,ruby,Ruby On Rails,Ruby,我不熟悉Ruby,并且试图阅读/理解一些rb文件。我遇到了这条线。谁能解释一下它在做什么(以及它背后的语法意义) 1:什么是当前用户?我用灰色标记了整个文件,但没有看到它被声明在哪里。(好吧,我知道变量不需要在Ruby中声明,但它没有使用@符号引用,所以这可能不是一个变量?) 我应该在哪里找到当前用户?(即,在app/model,app/view等中) 2:id的含义是什么? params看起来像一个数组,所以我猜:id在某种程度上意味着索引,但是为什么在id之前有冒号 谢谢 当前用户可能由

我不熟悉
Ruby
,并且试图阅读/理解一些
rb
文件。我遇到了这条线。谁能解释一下它在做什么(以及它背后的语法意义)

  • 1:什么是
    当前用户
    ?我用灰色标记了整个文件,但没有看到它被声明在哪里。(好吧,我知道变量不需要在Ruby中声明,但它没有使用@符号引用,所以这可能不是一个变量?) 我应该在哪里找到当前用户?(即,在
    app/model
    app/view
    等中)

  • 2:id的含义是什么?
    params
    看起来像一个数组,所以我猜
    :id
    在某种程度上意味着索引,但是为什么在
    id
    之前有
    冒号

谢谢

  • 当前用户可能由gem提供。宝石的例子是

  • “params”是作为URI上的查询字符串传递的参数的散列。因此,“:id”将引用id参数的值

  • 例如:

    www.domain.com?id=abc将产生参数[:id]作为“abc”

  • 当前用户可能由gem提供。宝石的例子是

  • “params”是作为URI上的查询字符串传递的参数的散列。因此,“:id”将引用id参数的值

  • 例如:

    www.domain.com?id=abc将产生参数[:id]作为“abc”

    什么是当前用户

    通常很难区分局部变量和被调用的方法之间的区别。这是因为
    ()
    是可选的,并且经常被忽略。在本例中,
    current_user
    是一个方法,在某个地方的mixin或超类中声明,这就是它不在本文件中的原因。将
    current\u user.accounts
    想象为
    current\u user().accounts
    ,这应该说明那里发生了什么

    我应该在哪里找到当前用户

    很可能,它是在插件或gem中提供的,用于处理项目的身份验证。在不了解更多项目的情况下,很难提出更多建议

    :id
    的含义是什么<代码>参数

    它从散列中提取一个值,通过它的键。在irb中,尝试以下方法:

    params = { :id => 123 }
    puts params[:id] # => prints 123
    
    所以params是一个散列(一些语言称此数据类型为关联数组或字典)。这是一种存储一组键/值对的方法。
    somehash[somekey]
    符号返回
    somehash
    somekey
    的值

    :id
    本身就是一个符号。它有点像一个永远不会改变的字符串。对ruby符号做一些研究,了解更多

    在rails中,
    params
    是一种特殊的散列。从请求传递的值显示在此哈希中。因此,当您加载
    /books/123
    时,路由
    /books/:id
    将激活,这将在控制器中将
    参数[:id]
    设置为
    123

    什么是当前用户

    通常很难区分局部变量和被调用的方法之间的区别。这是因为
    ()
    是可选的,并且经常被忽略。在本例中,
    current_user
    是一个方法,在某个地方的mixin或超类中声明,这就是它不在本文件中的原因。将
    current\u user.accounts
    想象为
    current\u user().accounts
    ,这应该说明那里发生了什么

    我应该在哪里找到当前用户

    很可能,它是在插件或gem中提供的,用于处理项目的身份验证。在不了解更多项目的情况下,很难提出更多建议

    :id
    的含义是什么<代码>参数

    它从散列中提取一个值,通过它的键。在irb中,尝试以下方法:

    params = { :id => 123 }
    puts params[:id] # => prints 123
    
    所以params是一个散列(一些语言称此数据类型为关联数组或字典)。这是一种存储一组键/值对的方法。
    somehash[somekey]
    符号返回
    somehash
    somekey
    的值

    :id
    本身就是一个符号。它有点像一个永远不会改变的字符串。对ruby符号做一些研究,了解更多

    在rails中,
    params
    是一种特殊的散列。从请求传递的值显示在此哈希中。因此,当您加载
    /books/123
    时,路由
    /books/:id
    将激活,这将在控制器中将
    参数[:id]
    设置为
    123