これは生成されるデフォルトの Rails コードです。(ドキュメントの説明から) コードの動作は理解できますが、どのように動作するかはわかりません。
1 class PostsController < ApplicationController
2 # GET /posts
3 # GET /posts.json
4 def index
5 @posts = Post.all
6
7 respond_to do |format|
8 format.html # index.html.erb
9 format.json { render json: @posts }
10 end
11 end
私が理解していること:
Post.all
インスタンス変数 @posts に保存されているすべての投稿の配列を返しますrespond_to
function はデフォルトの 'block' を取ります (1 つのパラメーター 'format' を取る無名関数ブロック)- 要求された形式に応じて、対応する出力が返されます
わからないこと:
- それは実際にどのように機能しますか?行番号 8 は、渡された形式に関係なく、オブジェクトの関数
html
メソッドを呼び出します。format
メソッドは何をしhtml
ますか?両方のメソッドが毎回呼び出されるのはなぜですか? 彼らは? - なぜ
json
メソッドは引数 (render を呼び出すブロック) を必要とするのに、html
メソッドは引数を必要としないのですか? - この関数は何かを返しますか?
json
メソッドの戻り値を返すようです。
私はRubyとRailsが初めてで、例を始めているので、各行が何をするのかを詳しく知りたいです.