【发布时间】:2018-03-12 12:24:48
【问题描述】:
Phoenix 项目中应该在哪里定义辅助方法?
我想定义像 Rails 这样的辅助方法。 但我想知道我应该在哪里定义辅助方法。
该方法用于模板、视图、模型和控制器。 我在模型中定义了如下方法,并在 web.ex 中导入。 这样对吗? 或者我应该在视图中定义这些?
# web/models/session.ex defmodule UserAuthenticator.Session 做 别名 UserAuthenticator.User @doc """ 返回当前用户登录 """ def current_user(conn) 做 id = Plug.Conn.get_session(conn, :current_user) 如果 id,做:UserAuthenticator.Repo.get(User, id) 结尾 @doc """ 检查用户是否登录 """ def logged_in?(conn) 做 !!current_user(conn) 结尾 结尾【问题讨论】:
-
我使用了这里找到的方法 - 效果很好:medium.com/@andreichernykh/…