我得到了这个 ruby 代码来进行概述。我对 ruby on rails 还是很陌生。我来自java背景。
在 User.rb 中:
def last_name=name
require 'debugger'; debugger
self[:last_name] = name
end
并告诉我这是一个setter方法。他们告诉我,这会以这一行的“形式”执行:
<%= f.label :last_name%>
<%= f.text_field :last_name %>
行。有人可以澄清这种荒谬的语法如何有效吗?
1) “用户”类的实例永远不会被初始化。该方法甚至是如何调用的?
2) 变量“name”从何而来?它的价值是什么?(变量名在其他地方没有被调用)这个语法代表什么?“def last_name=name” ?? 将尚未初始化的变量传递给方法?它是另一种语法的捷径,只是为了节省再输入 2 个符号?
3)如何以形式调用此方法?我没有看到“User.last_name("David") 或类似的东西。
有人可以澄清一下这些代码吗?并且请不要发布指向教程或其他任何内容的链接。只需澄清这段代码