このルビーコードはオーバービューに与えられました。私はまだRuby on Railsに慣れていません。私はJavaのバックグラウンドを持っています。
User.rb で:
def last_name=name
require 'debugger'; debugger
self[:last_name] = name
end
そして、これはセッターメソッドだと教えてくれました。彼らは、これが次の行の「フォーム」で実行されると私に言いました:
<%= f.label :last_name%>
<%= f.text_field :last_name %>
Ok。このばかげた構文がどのように有効であるかを誰かが明確にすることができますか?
1) クラス "User" のインスタンスは初期化されません。メソッドはどのように呼び出されますか?
2) 変数「名前」はどこから来たのですか? それの価値は何ですか?(変数名は他では呼び出されません) そして、この構文は何を表していますか? "def last_name=name" ?? 初期化されていない変数をメソッドに渡しますか? もう2つの記号を入力するのを節約するためだけに、別の構文のショートカットですか?
3) このメソッドはどのようにフォームで呼び出すことができますか? "User.last_name("David") などは表示されません。
誰かがそれらのコードを明確にしてくれませんか? また、チュートリアルなどへのリンクを投稿しないでください。このコードを明確にするだけです