web-dev-qa-db-ja.com

Hamlのローカルでパーシャルをレンダリングしますか?

私はHamlを学んでいます。

私のビューファイルは次のようなものです:

show.html.haml:

.content
  = render 'meeting_info', :locals => { :info => @info }

および_meeting_info.html.haml:

.detail
  %table
    %caption
      Meeting Informations of
      = info["meeting_name"]
...

これを実行しようとすると、undefined local variable or method 'info'エラー。

32
ssri

これを試して
:localsおよび:partialなし

.content
  = render 'meeting_info', :info => @info

ローカルを指定する必要はありません。

:localsおよび:partialを使用
次の場合、つまりレンダリングに:partialを指定する場合、ローカルを指定する必要があります

.content
  = render :partial => 'meeting_info', :locals => { :info => @info }
74
Pravin

コントローラーからレンダリングを呼び出す場合は、:localsオプションを使用します。ビューからレンダーを呼び出すとき、これを行うだけです:

= render 'meeting_info', :info => @info
14
dearlbry