小编hyk*_*ykw的帖子

生产环境中的Mix.env/0等价物?

Mix.env/0正常工作mix phoenix.server,但无法在使用exrm构建的生产环境中调用.这是有意义的,因为mix不包含在发布版本中,但有没有相当于Mix.env/0?

(UndefinedFunctionError) undefined function Mix.env/0 (module Mix is not available)
Run Code Online (Sandbox Code Playgroud)

我在一些代码中使用了这样的Mix.env/0:

if Mix.env == :dev do
  # xxxxxx
else
  # xxxxxx
end
Run Code Online (Sandbox Code Playgroud)

elixir phoenix-framework

19
推荐指数
1
解决办法
4330
查看次数

如何为errors.po设置语言环境?

如何在凤凰城设置一个语言环境,以使用priv/gettext/{lang} /LC_MESSAGES/errors.po?

作为测试,我用它构建了语言环境文件mix gettext.merge priv/gettext --locale ja,并在其中翻译了一些单词.

它的工作原理,如果我显式调用put_locale/2web/views/error_helpers.ex,并<%= translate_error(message) %>在模板文件中,但它是一个有点难看,干点.

def translate_error(msg) do
   Gettext.put_locale(LoginStudy.Gettext, "ja")
   Gettext.dgettext(LoginStudy.Gettext, "errors", msg)
end
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来设置默认语言环境?我指定了default_localein config/config.ex,但它不起作用.

config :login_study, LoginStudy.Endpoint, default_locale: "ja",
Run Code Online (Sandbox Code Playgroud)

最好的祝福,

phoenix-framework

5
推荐指数
1
解决办法
679
查看次数

标准化Elixir/Phoenix中的字符串

我想规范化用户通过a发布的Unicode(UTF-8)字符串<form>.是否有任何图书馆在Elixir(或凤凰城或Erlang)处理这些东西?我习惯在Python中这样做,但我不知道Elixir有这些库.

import unicodedata
import zenhan
import jctconv

def normalize(strings, unistr = 'NFKC')
    norm = unicodedata.normalize(unistr, strings)
    zenhan = zenhan.z2h(norm, mode=2)
    katahira = jctconv.kata2hira(zenhan)

    return katahira
Run Code Online (Sandbox Code Playgroud)

elixir phoenix-framework

5
推荐指数
1
解决办法
507
查看次数

remote_ip和peer之间有什么区别?

我正在编写一个插件,将访问日志放入一个文件中,就像普通的Web服务器一样.作为客户端IP地址的数据源,connremote_ippeer.我应该使用哪种,它们之间有什么区别?

是否有任何文件描述了每个实体conn

另外,我的插件就像下面的片段一样,从Elixir/Phoenix的角度来看是否自然?

Logger.info(
  Enum.join([
    "type:" <> "request",
    "remoteip:" <> Enum.join(Tuple.to_list(conn.remote_ip), ","),
    "method:" <> conn.method,
    "path:" <> conn.request_path,
    "status:" <> to_string(conn.status),
    "size_res:" <> to_string(byte_size(to_string(conn.resp_body))),
  ], ",")
)
Run Code Online (Sandbox Code Playgroud)

phoenix-framework

4
推荐指数
1
解决办法
1312
查看次数

将列表转换为地图,Elixir方式

我有一个函数,它返回一个从List(:erlang.memory())转换而来的Map.它按照我的预期工作,但似乎并不美观.如何将片段细化为更多的灵丹妙药(意味着更美妙的逻辑)?

{{:total, total}, {:processes, processes}, {:processes_used, processes_used}, {:system, system}, {:atom, atom}, {:atom_used, atom_used}, {:binary, binary}, {:code, code}, {:ets, ets}} =
  :erlang.memory()
  |> List.to_tuple()

params = %{
  total: total,
  processes: processes,
}
Run Code Online (Sandbox Code Playgroud)

elixir

2
推荐指数
1
解决办法
822
查看次数

标签 统计

phoenix-framework ×4

elixir ×3