Если вы решите go маршрут модуля, вы можете просто вызвать функцию в своем шаблоне EEx:
<%=
link "Go back",
to: assigns[:url_back] || StaticValues.url_back()
%>
Или вы можете даже сделать вспомогательную функцию по умолчанию для состояния c значение:
# You would probably want to rename this module in this case
defmodule StaticValues do
def get_with_fallback(assigns, key) do
Map.get(assigns, key, apply(__MODULE__, key, []))
end
def url_back, do: "/index"
end
Используется как
<%=
link "Go back",
to: StaticValues.get_with_fallback(assigns, :url_back)
%>
Если есть присвоение, оно используется:
iex> StaticValues.get_with_fallback(%{url_back: "/home"}, :url_back)
"/home"
Если нет, используется запасной вариант:
iex> StaticValues.get_with_fallback(%{}, :url_back)
"/index"