2009-06-08 4 views

答えて

1

要約:はい、同じです。 ただし、文字列を渡すと、render :fileまたはrender :templateが呼び出されることがあります。

Here's the API docs for the render function

我々は、下にスクロールし、「ソースコードを表示」をクリックすると、我々はそれがボンネットの下にやっているかを見ることができます。ブロックは、ライン872から始まる

注:このコードを見ることで

872:   elsif options.is_a?(String) || options.is_a?(Symbol) 
873:   case options.to_s.index('/') 
874:   when 0 
875:    extra_options[:file] = options 
876:   when nil 
877:    extra_options[:action] = options 
878:   else 
879:    extra_options[:template] = options 
880:   end 

は、我々はスマートになろうとしていると判断することができます。

  • 文字列が/、(when 0ケース)で始まる場合、文字列は全く/が含まれていない場合、それはそれはrender :action
  • を呼び出します( when nil場合)、 render :file
  • を呼び出します文字列は、文字列(当時elseケース)の途中または最後に/どこかに含まれている場合
  • 、それが呼び出されますrender :template

あなたの質問に満足して回答してくれることを願っています:

+0

これは答えです。ありがとう。 –

関連する問題