私は間違いなくRoRでどこかに到達しています。ループに関するいくつかのことを明確にしたいだけです。
ユーザーがデータベース エントリを作成、読み取り、更新、および削除できるようにするメソッドを含む「入力」コントローラを作成しました。
HTMLフロントエンドをレンダリングする「入力」ビューもあります。ビューには次のループがあります。
<table>
<% @inputs.each do |input| %>
<tr>
<td><%= input.title %></td>
<td><%= input.content %></td>
<td><%= link_to 'Show', input %></td>
<td><%= link_to 'Edit', edit_input_path(input) %></td>
<td><%= link_to 'Destroy', input, method: :delete, data: { confirm: 'Are you sure?' } %>
</td>
</tr>
<% end %>
</table>
ループが概念的にどのように機能するかは理解していますが、これについては少し迷っています。
@inputs
「コードを指す」(より良い表現方法でお願いします?) は、ループで使用されるメソッドが存在する入力コントローラーに向けられていると思います。
入力コントローラー内には、実際に「編集」、「作成」、「表示」、「破棄」などのメソッドがあります。
しかし、コントローラーには「タイトル」または「コンテンツ」メソッドはありません! 彼らはどこから来たのか?
そして、正直なところ、私は理解していません
<% @inputs.each do |input| %>
結構。
これは私が理解しようとしているものです:
@inputs = 入力コントローラーに移動
.each = 入力コントローラーで each メソッドを呼び出します。(この each メソッドはどこで定義されていますか?コントローラーで each を呼び出すとはどういう意味ですか?)
する | 入力 | = コントローラーで .each を呼び出すと、「input」というオブジェクトが生成されます。
さて、オブジェクト 'input' には確かに title や content などのメソッドが含まれていますが、これらのメソッドはどこから来ているのでしょうか?? それらは文字通りコントローラー内のどこにもありません!
とにかく、どうもありがとう。