2016-11-28 7 views
0

に関連した「EX」ファイルのようなもの、私は私のレイアウトで共有ヘッダーレンダリング:私は辞書を作成するために、いくつかのデータを計算する必要があるヘッダーでフェニックスFrameworkのヘルパーまたは部分的

<%= render(MyApp.SharedView, "header.html") %> 

に、それかなりのコードが必要です。私は "header.html"にコードを入れるべきではなく、代わりに ".ex"ファイルを保持すべきだと思いますが、どちらのファイルですか?各コントローラに同じコードを入力したり、接続したりするのは賢明ではありません。 "header.html"に関連付けられた ".ex"ファイルは何ですか? MyApp.SharedViewの場合、変数を "header.html"にどのくらい渡す必要がありますか?

Railsではヘルパーになるでしょう。それはMyApp.SharedViewなら

答えて

1

はい、それはMyApp.SharedViewです。

変数を "header.html"にどのように渡す必要がありますか?

あなたはSharedViewで関数を作成し、(あなたがRailsの中でビューからヘルパー関数を呼びたいだけのような)header.html.eexからそれを呼び出す必要があり、header.html.eexSharedViewから変数を渡すことはありませんが、例えば

その後
defmodule MyApp.SharedView do 
    ... 
    def generate_dictionary(arg) do 
    %{a: 1, b: 2} 
    end 
end 

header.html.eex中:

<%= for {k, v} <- generate_dictionary(123) do %> 
    <%= k %>: <%= v %> 
<% end %> 
関連する問題