67

私はこれについてグーグルで調べてきましたが、正しい道を見つけることができません。local_assigns というメソッドを使用する Rails アプリに取り組んでいます。これは Rails または gem の何かのようで、私のアプリに固有のものではありませんが、次のようなさまざまなコンテキストでパーシャルをレンダリングするために使用されます。

<% if local_assigns[:custom_name] %>
  <li><%= custom_name %></li>
<% else %>

またはこれも:

<%= render "discussions/complementary/#{local_assigns[:action] || params[:action]}" %>

これはRailsメソッドですか?これに関する詳細なドキュメントはどこにありますか?

4

1 に答える 1

90

local_assignsこのパーシャルがローカル変数で提供されているかどうかを確認できる Rails ビュー ヘルパー メソッドです。

ここでは、いくつかの値でパーシャルをレンダリングします。headlinepersonは、事前定義された値でアクセス可能になります。

<%= render "shared/header", { :headline => "Welcome", :person => person } %>

shared/headerビューで:

Headline: <%= headline %>
First name: <%= person.first_name %>

これらの変数が渡されたかどうかを確認する方法は次のとおりです。

<% if local_assigns.has_key? :headline %>
  Headline: <%= headline %>
<% end %>

セクションPassing local variables to sub templatesの詳細については、このドキュメントを確認してください。

于 2012-05-30T15:30:42.003 に答える