2つ質問をさせていただきます。
1, Viewではクラスでもないのにインスタンス変数が使用できる理由は何でしょうか。
コントローラークラスのメソッド内で@productsにすれば該当ビューにもってこれて表示ができるというのは分かるのですが、
ただそれがなぜなのか言葉にして説明してくださいと言われるとできないので知りたいです。
ruby
1# ProductsControllerクラス 2 3class ProductsController < ApplicationContrroller 4 def index 5 @products = Products.all 6 end 7end 8 9 10# products/index.html.erb 11 12 @products.each do |p| 13 @products.name 14 end 15 16 17
2, コントローラークラスのメソッドはルーティングを通って呼ばれますが、通常のオブジェクト指向での考え方では、indexメソッドを使いたいときは
以下を行うことでindexメソッドを使用できると思います。ただこの流れはどこで行われているのか気になります。それともインスタンス化が行われていないわけないですよね...。
ruby
1p = ProductsController.new 2p.index 3=> @productsを取得できる! 4
日常的に流れで書いている部分もありましたが、気になったので質問させていただきます。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。