<%= f.label :password %>
<%= f.password_field :password, class: 'form-control' %>
password_field的方法签名是:
def password_field(object_name, method, options = {})
答案 0 :(得分:1)
在&#34; ... f.password_field:密码......&#34; line,是两个参数 传递到password_field?所以它是一样的 &#34; f.password_field(:密码,课程:&#39;表格控制&#39;)?
f.password_field :password, class: 'form-control'
- 在这里你将两个参数传递给f.password_field函数
根据pw_field的方法签名,&#34;:password&#34;应该 一个东西。然而,它是一个符号,据我所知更像是一个符号 字符串而不是指针。如何将此作为对象输入 感?
它不是一个对象,object_name
对象名称
为什么&#34;类:&#39;表格控制&#39;&#34;参数一个方法?它似乎并没有 就像我的方法,但它不是哈希,所以我认为它不应该 &#34;选项&#34;在方法签名..
class: 'form-control'
它不是方法,是参数,也是哈希。
&#34; class:&#39; form-control&#39;&#34;得到评估成HTML(以及什么 资源告诉我这是怎么发生的??
FormBuilder
。它会在引擎盖下生成html并使用"class: 'form-control'"
参数来设置类。
同样使用object_name,对象名称自动成为指针 一个对象?
object_name
它是您正在使用的模型属性的名称。 password_field
函数不知道,表单构建器知道。
我建议你阅读Ruby Basic