我在三个不同的视图(user_view.ex
,group_view.ex
和connection_view.ex
)中具有相同的功能full_name
。我如何重构它,它是干的?我希望full_name
函数只在项目中的一个地方。DRY查看功能
defmodule MyApp.GroupView do
use MyApp.Web, :view
alias MyApp.User
def full_name(%User{first_name: first_name,
last_name: last_name,
honorific_prefix: honorific_prefix,
honorific_suffix: honorific_suffix}) do
[honorific_prefix, first_name, last_name, honorific_suffix]
|> Enum.reject(&(&1 == ""))
|> Enum.join(" ")
end
end
'import MyApp.UserHelpers'可以放到'web/web.ex'中,所以你不必重复导入。 – tkowal