Elixir Phoenix框架启用了代码重新加载,在Windows上速度非常慢

我是凤凰框架和长生不老药的新手,我不知道我做错了什么 如果我使用mix phoenix.new testproject创建一个新项目,它将按预期工作。我在Windows 10上运行cowboy,使用的是mix phoenix。服务器和请求服务速度很快 但是我有一个修改过的项目,当在dev.exsconfig文件中启用code\u reloader选项时,它的运行速度非常慢。请求不能用几分钟。如果我将此选项设置为false,则效果非常好 我已经用狼吞虎咽代替了早午餐来产生所有的私有资产,但据我所知

Elixir 向EXTO模型中添加一个随机且唯一的字段

我希望在外太空模型中有一个独特的领域。此字段应包含一个我可以轻松生成的随机字符串(例如,请参阅)。但是,我希望避免生成字符串并检查它是否已经存在于数据库中,因为这会使我暴露于竞争条件 我想让它重试插入,直到找到唯一的字符串。但是我该怎么做呢?它是否应该在变更集/2功能中 defmodule LetsPlan.Event do 使用LetsPlan.Web,:model 模式“事件”做什么 字段:名称,:字符串 字段:from,exto.DateTime 字段:to,exto.DateTime 字

Elixir 克朗任务量子长生不老药

我希望每分钟执行一次代码,并尝试使用以下代码进行尝试: #your_app/mix.exs defp deps do [{:quantum, ">= 1.9.1"}, #rest code end #your_app/mix.exs def application do [mod: {AppName, []}, applications: [:quantum, #rest code ]] end

Elixir 在Phoenix中配置请求超时?

我希望请求在一段时间后超时,比如说20秒。如果应用程序发送响应的时间超过20秒,Phoenix应该取消执行并立即回复一些错误,最好是HTTP 503 我浏览了Phoenix文档,但没有发现任何关于请求超时选项的提及。看起来Cowboy有一个:timeout选项,我尝试将其设置为10毫秒,但它仍然允许请求花费8951毫秒: config :app, SomeApp.Endpoint, http: [port: 4000, timeout: 10] 牛仔文档将此选项定义为: Cowboy关闭连

Elixir 为什么我的接收方法正在停止iex?

我在我的iex终端上写了下面的代码,之后它不再响应了,终端只是停止了,就像它期待着其他东西一样。到底发生了什么 receive do {:hello, msg} -> msg {:world, msg} -> "won't match" end 默认情况下,receive没有超时,因此进程将被阻止,直到当前进程收到与任何模式匹配的消息。如果您只是在玩游戏,可以使用after设置超时,以确保不会发生这种情况: receive do {:he

获取elixir中的所有参数和关键字参数

elixir是否有办法从一个函数中获取所有参数和关键字参数,并将它们发送到另一个函数 比如: def func1("test", 10) do ... end def func2("test", "string", "another string", 10) do ... end def check(type, *args, **kwargs) do case type do :func1 -> func1(*args, **kwargs) :func2 -

Elixir 订单搜索结果

我最近在我的应用程序中添加了搜索书籍功能。现在,我想添加一个排序功能,但我很难做到这一点。我想要达到的目标: 当我不搜索任何书籍标题时,我希望能够根据书籍/索引上的价格或标题对书籍进行排序。但是,如果我使用搜索功能,我希望能够按价格或标题对找到的书籍进行排序。有人可以帮助我或指导我如何做,并结合我目前的代码吗?我附上我当前的搜索代码,以及我为排序功能提供的表单 搜索栏位于layout/app.html.eex中 book/index.html.eex-顶部的排序表单 <%= f = for

Elixir 使用StringIO.open时如何在字符串中查找换行符的索引?

我想学一些长生不老药。我相信我会写作 def handleContent(txt) do {:ok, pid} = StringIO.open(txt) line = IO.read(pid, 100) end 这允许我创建几个进程,这些进程可以在知道pid的情况下读取字符串。这是通过pid和IO.read从字符串txt中只读取一行的某种方式吗?(对于\n字符)。您可以提供:all,:line或非负整数作为第三个参数,因此这应该可以实现以下功能: IO.read(pid,

在elixir中连接元组

在“长生不老药”中,我们可以连接这样的列表 ex(52)> [1,2,3,4] ++ [5,6,7] [1, 2, 3, 4, 5, 6, 7] 我们也可以连接元组吗?像这样的 iex(53)> {1,2,3,4} ++ {5,6,7} ** (ArgumentError) argument error :erlang.++({1, 2, 3, 4}, {5, 6, 7}) 我能想到的另一件事是将元组转换为列表,然后使用to_list和to_tuple函数将其转换回

Elixir 选择Phoenix模板中的字段

我知道Phoenix提供了一些很好的Railsy助手,可用于以下形式: 文本输入 数字输入 日期选择 并提交 但我找不到用于选定字段的。我一直在搜索,但什么也没找到 所以我的问题是,表单中是否有用于选择字段的Phoenix帮助程序?就在那里,文档在Phoenix.HTML项目中:感谢您指出这一点,我应该一直在搜索文档 select的辅助对象是: 示例: 假设表单包含一个用户模型 选择表单,:年龄,0..120 => 0 ... 120 选择表单,:角色,[管理员:管理员,用户:用户] =>

Elixir中GenServer的惯用测试策略是什么?

我正在编写一个模块来查询在线天气API。我决定将其实现为一个带有受监督的GenServer的应用程序 代码如下: defmodule Weather do use GenServer def start_link() do GenServer.start_link(__MODULE__, :ok, name: __MODULE__) end def weather_in(city, country) do GenServer.call(__MODULE__,

Elixir中CRC16校验和的库

我需要计算elixir中字符串的CRC 16。是否有用于此目的的现有库?我还需要elixir中的CRC库,我刚刚为此发布了一个包: 有一些Erlang实现:实际上我需要一个CRC-16库(普通,而不是CCITT),在这个链接上,一个十六进制字符串“test”(不带引号)给出0xC481作为CRC-16的答案,这是正确的。你能为普通的CRC-16推荐任何图书馆吗?我已经试过你的了,但CCITT不是我所需要的,不是的,不是马上的。如果你能找到一个做“普通”的C库,我可以为它添加一个函数。在寻找库作

Elixir 工人退出时在主管中执行操作

除了重新启动工人外,是否还有其他方法可以在工人退出后在主管中执行操作 目前,我在下面的worker中有一些代码,似乎有一半的时间在运行 try do some_work() catch :exit, reason save_reason_to_db() exit(reason) 工人有一个一对一策略,只有一个工人在运行。因此,每次工人退出时,主管都会启动一个新的 似乎每一秒这个工作者退出时,都会运行save_reason_to_db,我不是OTP专家,但最简单的解决办法可

Elixir 接受字符串而不是带有空格的Id的Url

过去有人问过这个问题,我甚至回答了。 但是,随着升级到1.1.2,这种方法不再有效。因为名称中的任何空白(如“超级清理器”)现在表示为“超级+清理器”,这是传递到查询中的值,因此不会收到任何点击。正确的方法是什么?我想这和菲尼克斯有关。帕拉姆在另一篇帖子中回答道?问题归结为它被视为整数而不是字符串,我不知道为什么 情况如何: 应该如何: 编辑:更新以包含我的代码 HTML <a class="secondary button" href="<%= weapon_path(@conn,

elixir是否从shell调用编译宏

我有以下代码片段: defmodule Play do defmacro mobile(expr) do IO.puts "I will compile" quote do IO.puts "#{inspect unquote(expr)}" unquote(expr) end end end defmodule Run do import Play def run do IO.puts "Execute ma

Elixir 在模板中使用辅助函数

我编写了一个full\u name(user)helper函数,并希望在模板中使用它 我尝试在模板中使用,但得到一个未定义函数全名错误。如何在模板中使用此函数 web/views/user\u helpers.ex defmodule MyApp.UserHelpers做什么 别名MyApp.User def全名(%User{first\u name:first\u name, 姓氏:姓氏, 敬语前缀:敬语前缀, 敬语后缀:敬语后缀})do [尊称前缀、名、姓、尊称后缀] |>枚举拒绝(&(&1

Elixir 使用ecto 2.0更新多个记录

我可以在ecto 2.0中插入多条记录: iex(1)> categories = [%{name: "stackoverflow", url: "stackoverflow.com"}] iex(2)> App.Repo.insert_all App.Category, categories 是否可以一次更新多个记录 iex(1) > category = App.Repo.all(App.Category) |> hd iex(2) > changeset

为什么可以';我在elixir的过滤函数中使用or语句吗?

在elixir中,如果我对列表进行操作,得到3的倍数: 1..10 |> Enum.filter(fn(x) -> (rem(x,3) == 0) end) 输出:[3,6,9] 其中,好像我添加了一个or语句: 1..10 |> Enum.filter(fn(x) -> (rem(x,3) == 0 || rem(x,5)) end) 输出:[1,2,3,4,5,6,7,8,9,10] 为什么or语句(已括在括号内)会给出意外输出?rem/2将返回一个整数作为其

elixir中的模块保护子句

我将模块传递给函数,并希望使用保护子句(函数的设计目的是:atom或module)传递给它 我如何检查函数中的参数是module(比如是原子的_atom)仅使用保护子句是不可能的。我将在函数体中使用它。如果模块存在或不存在,除了返回true/false外,如果可以在代码路径中找到相应的beam文件,还将尝试加载模块: iex(1)> defmodule A do ...(1)> end iex(2)> Code.ensure_loaded?(A) true iex(3)>

使用Elixir中的代理实现协议

我想在Elixir中定义一个协议,然后让几个模块实现它。我的问题是这些模块只是代理包装,所以: defprotocol Proto do def foo(proto) end defmodule A do def start_link() do Agent.start_link(fn -> :a end) end end defimpl Proto, for: A do def foo(proto) do Agent.get(proto, fn a -&

Elixir Map值上的模式匹配';长生不老药的钥匙

我想在映射中对键的值进行模式匹配 def handle_in("new_message", payload, socket) do case payload.message do "hello" -> broadcast! socket, "new_message", payload end {:noreply, socket} end [错误]GenServer#PID正在终止 **(KeyError)键:在以下位置找不到消息:%%{“m

Elixir 基于关键字的查询返回未定义的绑定函数

我试图使用基于keyeword的查询来使用横向连接 我基本上是从文件中复制粘贴的 AutoMessage |> join(:inner, [am], a in assoc(am, :app)) 但它会抱怨 undefined function a/0 你知道我做错了什么吗 附言:在外太空运行。2.0.5最有可能的是exto.Query.join/3宏未导入范围,编译器会将查询解释为常规的长生不老药代码 注:关键字样式查询是使用from/2宏的查询,使用其他宏是管道样式或直接样式(不确定

Elixir 为什么在控制台中使用alias时会引用我的应用两次?

在iex-S mix中当我使用别名MyApp.Services.DoStuff时 我看到一个响应MyApp.MyApp.Services.DoStuff 这似乎不允许我在控制台中使用我的模块 我的模块在lib/myapp/services/dostuff.ex defmodule MyApp.Services.DoStuff do…根据Dogbert的评论,我意识到我在.iex.exs文件中意外地使用了MyApp.MyApp别名。一定是由于大量的复制粘贴…您是否能够调用MyApp.Service

Elixir Phoenix返回brunch.io错误

我正在尝试创建简单的Phoenix应用程序。当我运行mix phoenix.new my_app时,我发现一个错误: * running mix deps.get * running npm install && node node_modules/brunch/bin/brunch build * error command failed to execute, please run the following command again after installation:

Elixir 从预加载中选择关系

我有一个查询,它拉入了要在json api中使用的关系。如果排除select语句,效果很好,但是,当包含select语句时,关系不会显示。我需要select语句来包含属性的子查询。如何在select中指定关系,以便显示它们 journal_entries = from entry in JournalEntry, select: %{ entry: entry, id: entry.id, account_id: entry.account_id, archi

Elixir 使用模板在服务器端创建HTML内容

从模板(.eex)在服务器端创建HTML内容的可能解决方案是什么?这是可能的,而且非常简单,Phoenix。View模块提供了许多功能,可以做到这一点。这是可能的,而且非常简单,Phoenix.View模块提供了许多功能,可以实现这一点。什么?你想做什么?我有一个模板(.html.eex)可以将html呈现到页面中,我必须将该页面转换为pdf。我知道转换pdf的库,但我想要的是服务器端的确切html内容,以便我可以转换它。谢谢@JustMichaelI相信这是可能的,而且应该很简单,您可能可以使

Elixir 凤凰城:发布一个模型,有很多保持抛出预加载错误

我将在这里展示一些相关代码,但如果您需要完整的代码,可以在Github上找到: 用户模型: defmodule PhoenixTodo.User do use PhoenixTodo.Web, :model @derive {Poison.Encoder, only: [:name, :email, :bio, :todos]} schema "users" do field :name, :string field :age, :integer fiel

Elixir 长生不老药/凤凰退出循环

我有两个带有地图的列表: apps = [%{name: "app1", version: "0.0.1"}, %{name: "app2", version: "0.0.1"}] updates_list = [%{name: "app1", version: "0.0.2"}, %{name: "app2", version: "0.0.1"}, %{name: "app3", version: "0.0.1"},

Elixir 菲尼克斯长生不老药-重构功能将发挥作用

我对长生不老药和凤凰很陌生,但我发现它真的很酷。我来自Rails的背景 例如,给定此变更集: def signup(struct, params \\ %{}) do struct |> cast(params, [:email, :password, :password_confirmation, :username]) |> validate_required([:email, :password, :password_confirmation, :use

Elixir 如何在exmachina工厂中使用arc EXTO文件?

我有一个EXTO模式,它使用arc上传器作为字段类型 schema "files" do field :name, :string field :locked, :boolean, default: false field :mime_type, :string field :path, Splish.Assets.FilesUploader.Type field :size, :integer belongs_to :user, Splish

Elixir CircleCI卡在混合测试中`

我有一个用于Elixir伞形项目的简单CircleCI配置文件。运行时,它在最后一步混合测试时卡住,最终超时。我尝试过不同的方法,但都不奏效 我在配置文件中遗漏了什么或做错了什么 version: 2 jobs: build: services: - rabbitmq-server - redis docker: - image: circleci/elixir:1.5.2 working_directory: ~/my-p

Elixir 在天数列表中查找桥接天数

我想从天数列表中找到“桥牌日”。名单如下: days = [ %{value: ~D[2017-04-01], categories: ["weekend"]}, %{value: ~D[2017-04-02], categories: ["weekend"]}, %{value: ~D[2017-04-03], categories: []}, %{value: ~D[2017-04-04], categories: []}, ... %{value: ~D[2017-04-13]

Elixir 长生不老药/凤凰改变利弗雷罗德终点

我正在为nginx proxy后面的应用程序提供服务,希望保留phoenix live重新加载功能。问题在于: <iframe src="/phoenix/live_reload/frame" style="display: none;"></iframe> 但是它似乎没有改变iframe的url。然后,我在我的dep中找到了livereloader.ex,我想它允许用config设置url 有人能告诉我如何设置它的url吗?提前谢谢 更新了config/dev.exs

复制与elixir关联的条目

我的博客应用程序有一个功能,允许人们复制其他人的帖子,并将其作为自己的帖子寄存 Posts与所有者关联 schema "posts" do field :title, :string field :content, :string belongs_to :owner, MyApp.Accounts.User, foreign_key: :owner_id end 我想按id获取一份Post,删除id和owner\u id字段,转换新的owner id,

Elixir (FunctionClauseError)Access.get/3中没有匹配的函数子句

我是Elixir的新手,目前正在与Ruby进行交易。我正在努力绕过我遇到的错误,因为Elixir没有对象.class,我正在努力理解我返回的数据类型以及如何对其进行故障排除 无论如何,我正试图从CSV种子数据库,但得到的错误 下面是我的代码 File.stream!('users_departs.csv') |> Stream.drop(1) |> CSV.decode(headers: [:name, :title, :departments]) |> Enum.take(1

Elixir-将字符串转换为不同类型

我有一个字符串化的值,可以是整数或布尔值(“20”,“true”)。我想将值强制转换为它的类型,但是,当我在错误的类型上进行转换时,会出现运行时错误: iex>String.to_现有_原子(“20”) **(ArgumentError)参数错误 :erlang.binary_to_existing_atom(“20”,:utf8) iex>String.to_整数(“真”) **(ArgumentError)参数错误 :erlang.binary\u to\u integer(“true”)

Elixir:Date.to_字符串为美国的服务器和英国的本地服务器返回不同的格式

我了解api日期。to_字符串根据其日历将给定日期转换为字符串,因此我得到美国托管服务器的格式“8/22/18”,以及英国本地服务器的格式“2018-07-30” 是否有办法从日历中检索格式?如果您同意始终以ISO 8601格式打印,则可以使用。如果没有,我建议您使用该库(具体请参见): 通过深入研究源代码,我发现Date.to_字符串(~D[2018-07-30])将始终返回字符串“2018-07-30”,无论您从哪个国家运行它 如果您查看Date.to_string的来源(通过以下方式: (

Elixir 调度员可以访问它吗';s的父生产者方法/属性?

使用@behavior GenStage.dispatcher创建的自定义dispatcher能否访问其父模块,该父模块以{:producer,state,dispatcher:CustomDispatcher}的身份调用他 我意识到调度程序是在与生产者相同的过程中启动的 例如,如果我尝试从调度员向制作人发起一个handle\u呼叫,那么我将收到: GenStage.call(producer, :test) ** (exit) exited in: Gen

Elixir 在Mixfile依赖项中,“runtime:false”是什么意思?

从文件中: :运行时-依赖项是否是运行时应用程序的一部分。 如果中的def application中未提供:applications键 在您的mix.exs文件中,mix将自动包含所有依赖项 运行时应用程序,除非给出了runtime:false。默认值 这是真的 根据文件: :应用程序-应用程序所依赖的所有应用程序 运行时。默认情况下,此列表将根据您的 依赖关系。Mix和其他工具使用应用程序列表 在启动应用程序本身之前启动依赖项 这是否意味着将runtime:false添加到依赖项将使其不会作为

Elixir语法-定义具有相似签名和无结束关键字的多个函数

我正在从以下位置查看示例应用程序: 我遇到了以下代码,我根据自己的理解对其进行了标记 def query(Score, params) do #defined function query/2 params |> Map.put_new(:limit, 10) #adding to the "dictionary" |> Map.put_new(:order, :total) #"" |> Map.to_list() #flattening ou

Elixir 困在迁移中,如何将IO.chardata\u修复为\u字符串/1

嗨,我写了一系列大约50个迁移 当我尝试运行eco.migrate时,它只会首先运行,我会遇到这个奇怪的错误 ** (FunctionClauseError) no function clause matching in IO.chardata_to_string/1 The following arguments were given to IO.chardata_to_string/1: # 1 nil Attempted function clauses (s

Elixir 实现。。。 20:42:11.328[调试]AccountStreamDispatcher=>正在启动。。。 20:42:11.328[信息]AccountStreamDispatcher=>正在初始化。。。 20:42:11.328[调试]StreamS

实现。。。 20:42:11.328[调试]AccountStreamDispatcher=>正在启动。。。 20:42:11.328[信息]AccountStreamDispatcher=>正在初始化。。。 20:42:11.328[调试]StreamSubscriber=>正在启动#(长生不老药) 20:42:11.329[调试]StreamSubscriber=>正在初始化。。。(长生不老药) {:好的,#PID} iex(2)> 感谢您的回复!对于参数部分,对于映射,我知道这是不正确的(

使用Elixir Phoenix中的代理在进程之间共享状态

我有一个HTTP端点,它创建一个映射并使用代理存储它 我想在到达另一个端点时访问此地图。但当我试图从代理获取数据时,它返回的是空的 有人能确认这是否是使用代理的有效方案吗?如果是,我遗漏了什么 代码: defmodule BoardState do use Agent def start_link do Agent.start_link(fn -> %{} end, name: __MODULE__) end def add(game_id, board) do

Elixir 干燥视图函数

我在三个不同的视图(user\u view.ex、group\u view.ex和connection\u view.ex)中具有相同的功能full\u name)。我如何重构它,使其干燥?我希望全名函数只在项目中的一个位置 defmodule MyApp.GroupView do 使用MyApp.Web,:查看 别名MyApp.User def全名(%User{first\u name:first\u name, 姓氏:姓氏, 敬语前缀:敬语前缀, 敬语后缀:敬语后缀})do [尊称前缀、名、

Elixir 当客户端连接时,如何让Phoenix自动加入频道?

我将websocket传输与Phoenix频道一起使用,但我试图为没有Phoenix.Socket客户端的消费者提供一个干净的API,以便只与websocket一起使用 为了简单起见,我想在用户打开会话时自动订阅各种频道 目前我有一些类似于: defmodule MyWeb.UserSocket do require Logger use Phoenix.Socket alias Exchange.{Account, ApiKey} channel "room:tim

上一页 1 2 ...  44   45   46   47    48   49   50  ... 下一页 最后一页 共 125 页