ruby-on-rails - |f| 是什么意思在 Ruby 中做什么?

标签 ruby-on-rails ruby model

<分区>

Possible Duplicate:
In Ruby, what are the vertical lines?

这个问题似乎谷歌证明,我不知道 Ruby。

比较模型描述中一行末尾 |f| 的不同存在会导致内容不显示。我只是想修复一个页面中的错误,该错误不提供对表中某些信息的访问权限。

"What does ||= do in Ruby "关于 || 似乎没有帮助。

这是来自损坏的 .rb 文件的可疑代码:

comma :show_mytable do |f|
    table2 :field2
    table3 :field3
end

但这似乎有效,在激活时显示所需的字段:

comma :show_mytable do
    table2 :field2
    table3 :field3
end

|f| 可以阻止输出显示吗?

最佳答案

在您的代码中,您将两个变量传递给 comma 方法。第一个是名为 :show_mytable 的符号,第二个是一个 block 。它与条件赋值的 ||= 语法无关。

这是一个如何在 ruby​​ 中使用 block 的示例:

array = [1, 2, 3, 4]
array.each do |element|
  element + 1
end 
  #=> 2 3 4 5

当您使用循环(在本例中为each)时,您可以将一个变量(element)传递给它,以提供一种在循环。

您也可以使用大括号代替 doend,如下所示:

array = [1, 2, 3, 4]
array.each { |e| e + 1 } 
  #=> 2 3 4 5

由于您在这里没有循环任何内容,所以我看不出有任何理由在您的示例中需要 |f|

关于ruby-on-rails - |f| 是什么意思在 Ruby 中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12693918/

相关文章:

ruby-on-rails - Rails 4 扩展了构建方法

ruby-on-rails - 在 Rails 中使用 .where 时保留数组的顺序

ruby-on-rails - Rails 4 - 提交后重定向到正确的网址

ruby-on-rails - 如何从数组构建正则表达式?

ruby - 在哪里可以找到 Ruby 中 Selenium WebDriver 的文档

javascript - 使用 Jquery 在 Rails3 中动态添加/删除表单中的字段

ruby - 如果元素不存在,则将元素添加到数组中

javascript - 如何打印已被 javascript 更改的页面?

android - 在模型对象中引用 Strings.XML 以支持本地化

ruby-on-rails - 从一个模型访问另一个模型