Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
 Elixir_IT技术博客_编程技术问答 - 「Fatal编程技术网」

Elixir web/router.ex中嵌套范围定义的行为

文件中根本没有提到这一点。是否允许嵌套范围定义,如果允许,在web/router.ex中定义的以下行为是什么: scope "/:locale", MyApp do pipe_through [:browser, :locale] scope "/auth", MyApp do pipe_through [:auth] get "/", PageController, :dummy end get "/", PageController, :dummy en

Elixir 无法识别两个字段上的唯一\u约束

我正在尝试做两个领域的唯一约束在外体研究生。到目前为止,我设法做到了: 在移徙方面: create unique_index(:presences, [:event_id, :user_id], name: :special_event_user) 变更集: def changeset(presence, params \\ :empty) do presence |> cast(params, @required_fields, @optional_fields)

Elixir 这个长生不老药地图示例有什么问题?

根据我在网上找到的文章,我可以想象以下方法会奏效: iex(9)> q %{one: 1, two: 2} iex(10)> nq = %{ q | three: 4} ** (KeyError) key :three not found in: %{one: 1, two: 2} (stdlib) :maps.update(:three, 4, %{one: 1, two: 2}) (stdlib) erl_eval.erl:255: anonymous fn

Elixir 进程处于空闲模式

当进程等待接收消息时,它处于空闲状态,不会浪费CPU时间。这是什么意思 我有一个递归的循环函数: def start do spawn(&loop/0) end defp loop do receive do {:run_query, caller, query_def} -> send(caller, {:query_result, run_query(query_def)}) end loop end

Elixir 如何从脚本启动服务器Phoenix并等待它';准备好了吗?

可以使用以下命令在Phoenix中为数据库设定种子: mix run priv/repo/seeds.exs 我想通过JSON API为应用程序设定种子,因此在seeds.exs中会有大量对服务器的HTTP请求,而不是DB调用,如: ... # Creating post. HTTPoison.post! "http://localhost:4000/posts", Poison.encode!({name: "My post"}), [{"Content-Type", "applica

如何在不使用IEx的情况下创建Elixir节点?

使用Elixir的交互式shell IEx时,我可以通过以下命令创建节点: iex --sname node_name 但是如何通过代码创建节点,然后通过以下方式运行代码: elixir code.exs 有些函数类似于node(),但这些函数似乎只是返回一个已存在的节点。使用 elixir --sname node_name 通常,您传递节点名称,以便所有内容都知道自己的名称。但是,显然也可以在使用Erlang net_内核模块运行时设置名称,如的答案中所述,如果您正在执行Erlang发

Elixir 如何配置Phoenix以基于不同IP提供不同的应用程序

我想知道当你有不同的IP指向同一台服务器时,如何让Phoenix服务于在同一台服务器上运行的不同应用程序 例如,您的AppA和appB Phoenix应用程序运行在同一台服务器和同一个端口(80)上,如果请求来自IP X.X.X.X,您将为AppA提供服务。如果请求来自IP Y.Y.Y.Y,您将为appB提供服务。 我尝试了一个简单的体验,我不能让两个应用程序在同一个端口上运行(如果我没有配置任何其他东西)。 我找到了我认为可以用于此目的的Plug.Adapters.Cowboy。根据文档,有一

Elixir 测试令牌身份验证

我正在努力测试需要令牌头的api端点。我们的想法是测试两种情况,使用和不使用身份验证令牌 我想出了以下可行的解决方案,但我觉得有点笨拙 defmodule MyApi.SecretControllerTest do use MyApi.ConnCase alias MyApi.{Repo, User, Session} setup %{conn: conn} do user = create_user(%{name: "john"}) se

Elixir 如何检查文件是图像文件还是ascii文本文件?

如何检查文件是图像文件还是ascii文本文件? 例如,检查“file1”是否为ascii文本或二进制图像/png文件。我不熟悉Elixir,但明显的语言无关解决方案是使用命令行工具(在类似Unix的系统上是标准的,包括Linux和MacOS,可以作为第三方应用程序安装在Windows上)或者它所基于的libmagic库。这些方法应该适用于任何可以调用外部程序和/或使用C风格ABI(可能通过某种包装器模块)调用动态链接库的语言 文件和libmagic的工作方式是读取不同文件格式的预编译文件,并根据

Elixir Phoenix:尝试连接到频道,但未找到GET/websocket错误的路由

我正在尝试使用频道(Websockets)将Angular 2前端连接到Phoenix应用程序。它们是完全独立的,在本地主机上的不同端口上运行(phoenix在4000上,angular 2在5555上)。奇怪的是,我在后端发现一个(Phoenix.Router.norouterror)找不到GET/websocket(MyApp.Router)的路由错误。前端出现代码1006错误: WebSocket连接到“ws://localhost:4000/WebSocket?vsn=1.0.0”失败:

Elixir 长生不老药&x2B;Phoenix通道内存消耗

我对长生不老药和凤凰的框架还很陌生,所以我的问题可能有点傻 我有一个应用程序,Elixir+Phoenix框架作为后端,Angular 2作为前端。我使用凤凰频道作为前端/后端交换频道。我发现了一个奇怪的情况:如果我从后端向前端发送一大块数据,那么特定的通道进程内存消耗将高达数百MB。即使在传输结束后,每个连接(每个通道进程)也会消耗如此多的内存 以下是来自后端通道说明的代码片段: defmodule MyApp.playlistuserchannel do 使用MyApp.Web,:频道 导

Elixir 如何将Phoenix应用程序连接到Ecto适配器?

我正在尝试创建一个新的Phoenix应用程序,使用RejectionDB作为数据库,RejectionDB_-eCot作为适配器 我已经创建了该应用程序,并按照GitHub上的说明操作: 我的mix.exs: def application do [mod: {RethinkPhoenix, []}, applications: [:phoenix, :phoenix_pubsub, :phoenix_html, :cowboy, :logger, :gettext,

ejabberd使用Elixir编译失败

我对Elixir非常陌生,正在尝试使用页面上的说明设置ejabberd(我使用的是Erlang/OTP19和Elixir 1.3.2) 在执行mix compile时,我得到一个很长的屏幕输出,该输出在编译错误中终止: 我不知道出了什么问题以及如何解决。看起来像是一种叫lager的东西出了问题,但我不知道如何解决。请帮忙 事实证明,埃贾伯德还没有为二郎19做好准备。它的一些依赖性似乎仍然存在于OTP18世界中。所以我将Erlang降级为18,Elixir降级为1.2.6,现在它编译得很好

Elixir ejabberd打开s2s与proxy.eu.jabber.org的连接

我在Phoenix应用程序上有一个ejabberd的本地设置。为了测试它,我创建了一个帐户并使用Pidgin登录。但我注意到日志中有一些奇怪的东西: iex(8)> [info] (#Port<0.25178>) Accepted connection 127.0.0.1:34684 -> 127.0.0.1:5222 [info] ({socket_state,gen_tcp,#Port<0.25178>,<0.899.0>}) Accepted

如何在elixir中实现延迟模式?

如何在elixir中实现延迟模式 让我解释一下是什么。假设我有一些fn(),应该在现在之后以n秒延迟来实现。但是如果我第二次调用这个fn()函数,这个函数应该在第二次调用后的n秒内实现,以此类推。也应该有一种方法退出此函数评估 您可以查看Lodash的函数以供参考。好的,下面是一个简单的例子: 这里的n不是以秒为单位的而是循环步骤,因此您需要大的n来查看延迟。这里我使用IO.put作为调用函数的示例 defmodule myModule do def loop(list,count) do

Elixir主管正在意外地重新启动临时/临时工作人员

我想使用:transient restart策略来监督任务,这样只有当任务异常退出时才会重新启动。然而,当我测试我的应用程序时,我发现它重新启动了4次,然后主管自行退出。我简化了代码,甚至将重新启动更改为:临时,但即使如此,主管仍在重新启动任务 简化示例: defmodule FooSup do use Supervisor def start_link() do IO.puts "starting #{__MODULE__}" Supervisor.start_lin

Elixir 如何删除EXTO中的默认列?

如何在EXTO中编写迁移以删除列的默认值?假设我有一个名为:users的表,其中有一个名为:timezone的列,该列以前默认为“Etc/UTC” 这是我迁移的开始 def up do alter table(:users) do modify :timezone, :string, default: fragment("NULL"), null: true end end def down do alter table(:users) do

Elixir映射值未更新

我在Elixir中编写了一个函数,创建了一个映射,然后尝试更改其中一个键的值,但它似乎不想更新 defmodule KV do def test() do map = %{foo: "bar", hello: "world"} IO.inspect map.foo %{map | foo: "baz"} IO.inspect map.foo end end KV.test() 编译代码后,我希望看到的是: "ba

Elixir 外部模型更新多个关系

我试图在表worklogs中插入一个EXTO模型,该模型有两个关系user\u id和issue\u id。我发现,当我尝试使用这两个字段的有效整数为worklog创建变更集时,它们不包括在变更集中,并且在生成的worklog和API响应中为空。我已确保用户和问题与我使用worklog插入的主键存在 我还查看了文档,似乎build\u assoc/3是更新关系的方法,但似乎仅限于为单个关系插入。从文件来看,我认为我应该这样做: user = #get the user worklog = Ect

Elixir 长生不老药中的条件保护条款

函数保护子句中是否有使用或或和表达式的方法: defmodule Test do def testfn(arg1, arg2) when is_nil(arg1) || is_nil(arg2), do: :nothing def testfn2(arg1, arg2) when is_nil(arg1) && is_nil(arg2), do: :nothing end Guard表达式不支持&&和|(在LHS上接受任何值),而只支持和和或(在LHS上只接受布尔

Elixir 为什么我得到**(退出)错误的返回值::ok

我需要让GenServer监视任务,因此,我需要: GenServer.call(server_pid, {:monitor_task, self()}) 在服务器中: def handle_call({:monitor_task, task_pid}, _from, state) do ref = Process.monitor(task_pid) {:reply, ref, state} end 但是,我得到一个错误: ** (stop) exited in: GenServer

Elixir 长生不老药:如何在handle_cast中向服务器发送通知?

我正在制作能够发送/接收异步消息的基本Elixir服务器/客户机模块。该模块如下所示 defmodule Bitcoin.WorkerOne do use GenServer def start_link(opts) do IO.puts " - Worker 1 started - " GenServer.start_link(__MODULE__,:ok, opts) end def set_message(server, name, mid) do GenSer

Elixir 长生不老药中的无对无

在长生不老药中None和nil有什么区别 从Elixir的文档中,如果我理解正确的话,nil是一个表示无值的文字 但是,即使是None似乎也代表了相同的内容,尽管我找不到任何相关文档。正如@JustMichael所提到的,None的行为与您想象的完全不同。 elixir中的None只是一个原子,没有任何进一步的意义,正如您可以通过iex中的i(变量)确定的那样 iex(1)> i(None) Term None Data type Atom Raw representation

Elixir 如何在Phoenix框架中创建基本表单和post响应

我正在寻找一个非常简单的基本工作岗位回复示例。应用程序只需要有两个路由/控制器。第一个是包含HTML表单的主页,另一个是用于嵌入表单post响应的主页 令人惊讶的是,所有在线类似代码的示例都是完全膨胀的(IMHO),代码我不理解 目前,我得到的错误是请求CSRF令牌(是的,我知道这是什么)。在我在线查看的一些代码中,表单有一行类似于以下内容的代码来生成表单: <input type="hidden" name="csrf_token" value="<%= csrf_token(@c

Phoenix Framework/Elixir,将相对文件路径输出到控制台

如何将相对文件位置记录到其项目根目录 “我的项目”是Phoenix框架项目的根目录。 在users/me/apps/my project/my file.txt内部,如果我这样做: IO.put\uuuuu环境文件 控制台输出绝对路径:users/me/apps/my project/my file.txt 如何输出相对路径,例如my project/my file.txt 您可以获取根目录,然后使用它对\uuuu ENV\uuu.file进行前导修剪: defmodule A do def

manjaro linux elixir记录器崩溃

将manjaro的核心从版本4.16更新到4.17后,elixir 1.5记录器停止工作 elixir -v =SUPERVISOR REPORT==== 12-Jul-2018::16:29:19.697604 === supervisor: {local,'Elixir.Logger.Supervisor'} errorContext: start_error reason: noproc offender: [{pid,undefined},

Elixir 使EXTO查询更高效

我试图查看当前用户的团队是否与传入用户的团队重叠。我有一些有用的东西,但我很好奇它是否能让我更有效率。以下是我所拥有的: user_teams = from( t in MyApp.Team, left_join: a in assoc(t, :accounts), where: p.owner_id == ^user.id or (a.user_id == ^user.id and t.id == a.project_id) ) |> Repo.all current_us

Elixir EXTO-自动大写字段

我有一个名为Company的外部模型,它有一个name字段。我想要的是在数据库中插入或更新公司之前,将String.capitalize应用于name属性。以下是公司控制器的创建和更新功能: def create(conn, %{"company" => company_params}) do case Company.insert(conn.assigns.current_user, company_params) do {:ok, _company} ->

Elixir 凤凰http://0.0.0.0:4000 css未加载

[已解决] 大家好 我刚刚开始学习Phoenix framework for Elixir,当我访问Phoenix(localhost:4000)时,页面加载时没有CSS 其中一部分,一切都按预期运行 有人知道如何解决这个问题吗 我的操作系统: 分发服务器ID:Ubuntu 说明:Ubuntu 16.04.5 LTS 发行日期:16.04 代号:xenial 我的长生不老药版本: Erlang/OTP 21[erts-10.1][source][64位][smp:8:8][ds:8:8:10][

Elixir 停止EXTO抛出唯一约束错误

我一直在犯这个错误。该错误是预期的,但我如何处理该案例,使其不会在控制台中抛出红色文本 代码: 错误: 14:23:18.273 [error] #PID<0.354.0> running Api.Router terminated Server: 172.20.10.6:4000 (http) Request: PUT /product/isvegan/?p_id=1&u_id=792200324272726 ** (exit) an exception was raise

Elixir 将嵌套表单与exto.multi和变更集结合使用

在我的应用程序的注册页面上,我尝试将嵌套表单(使用and)与exto.multi和变更集结合使用 目标:如果一个或多个服务器端验证失败,则使用以前输入的信息重新呈现表单,以便用户可以进行更正,而不是从头开始 该应用程序有一个组织架构,其中有一个用户是创建者/所有者: schema "organizations" do field :owner_id, :integer has_one :owner, MyApp.Accounts.User, references: :owner_id,

Elixir实用程序脚本的内存使用情况,该脚本将内容从stdin筛选到sdout

我正在尝试编写一个简单的elixir实用程序脚本,它将一些文本作为STDIN(即PostgreSQL转储)的输入,过滤该文本并将其输出到STDOUT,以供后续命令使用: pg_restore db backup/big_dump.psql.gz | db_trimmer.exs | psql… 我的第一个脚本版本是删除转储中复制数据的所有行(以copy开始,以\.结束): 我的目标是控制脚本使用的内存,因为转储可能非常大。因此,我开始使用Elixir流模块和函数。最后,我使用IO.stream和

Elixir 如何在执行模块时将当前上下文带入模块中?

我有这个: defmodule MyTest1 do def print_data do IO.puts("***this module: #{__MODULE__}") end end 如果我从其他模块中调用它,它仍然会打印定义它的原始模块的名称-->Elixir.MyTest1 如何更改它,以便打印调用它的模块的名称?如果不必将\uuu模块作为参数传递给函数print\u data,显然不可能实现所需的行为。是一种编译语言,生命周期只是一个编译阶段。上面的代码在任何对它的调

Elixir HTTPoison不';不接受此自定义标题

我有一个下面的curl请求可以工作,但是当我把它翻译成下面的内容时,我得到了以下错误:这个标题有什么问题?我觉得我已经尽了一切可能 url = "https://content.dropboxapi.com/2/files/download" header = [ {"Authorization", "Bearer #{token}"}, {"Dropbox-API-Arg", "{\"path\": \"/dropboxtest/image.jpg\"}"} ] HTTPoison.post(

如何在Elixir中对元组执行联接

我有一个元组列表,如下所示: def pairs do person_a = %{name: :a} person_b = %{name: :b} [{person_a, 1}, {person_b, 5}, {person_a, 2}, {person_b, 6}, {person_a, 3}] end defmodule EnumHelpers do defp group_one({key, val}, categories) do Map.up

Elixir 从SQL查询填充虚拟字段

我必须处理一个无法更改的数据库设置,并且必须使用一个特定的SQL查询来计算表中没有字段的值。我怎样才能在外太空工作?以下是我的方法和遇到的问题: 设置 之后,我创建了两个产品 x 我将虚拟x字段添加到产品: lib/testapp/shops/product.ex defmodule Testapp.Shops.Product do 使用exto.Schema 导入外部变更集 模式产品是什么 字段:名称,:字符串 字段:价格,:浮动 字段:x,:整型,虚拟:真castattrs,[:名称,:价格

如何在elixir中以字节为单位获取任意数据的大小?

似乎没有简单的方法来获取非字符串数据的字节大小?如果我想知道list、boolean、integer、float等的字节大小,我应该使用什么库;DR没有“术语的字节大小”这样的东西 多亏了不变性,因此在堆中为某些对象共享内存。请参见下面的示例 根据你所寻找的,这个答案可能会有所不同 :erlang.term_to_binary/1+:erlang.byte_size/1 :erlang.term_to_binary/1返回一个二进制数据对象,该对象是根据erlang外部术语格式对term进行

Elixir 有没有办法为phoenix项目生成静态资产文件夹?

对于一个学校项目,我生成了一个带有--no webpack选项的phoenix项目。 现在我们需要用javascript和webpack扩展我们的项目。 问题是我没有资产文件夹,我想知道是否还有方法生成它或其他可能的修复。 我已经尝试生成另一个项目并在它们之间复制粘贴我的文件,但这在不同的文件中给了我错误。生成另一个项目是一种方法,但您可以让git为您进行合并 在其他目录中生成具有相同名称的项目,然后与允许不相关的历史记录选项合并: git merge../other文件夹/相同的项目名称--允

Elixir 在EXTO中,在带有连接的查询中使用查询函数

我有两种型号Player和Event。一个运动员有许多项目。我有一个EXTO查询,获得了如下的最佳得分: from(p in Player, join: s in assoc(p, :events), group_by: [p.id], select: %{total_goals: count(s.id), player: p}, where: s.type == "goal_scored", where: p.team_id == ^team_id, order_by:

Elixir 如何将关联嵌套在先前组合和预加载的关联上?

我有一个EXTO查询,我正试图构建它,将一个额外的连接和预加载管道连接到一个已经包含预加载的组合查询上 defp list_assets_qry(asset_id) do from a in Asset, join: u in assoc(a, :user), where: a.asset_id == ^asset_id, preload: [user: u] end list_assets_qry(asset_id) |> j

Elixir:更新地图列表中的特定值

给出以下地图列表: ball\u prop\u list= [ %{“id”=>“cue”,“is_idle”=>true,“velocity_x”=>0.0,“velocity_z”=>0.0,“x”=>-15.0,“z”=>0.0}, %{“id”=>“ball_1”,“is_idle”=>true,“velocity_x”=>0.0,“velocity_z”=>0.0,“x”=>15.0,“z”=>0.0}, %{“id”=>“ball_2”,“is_idle”=>true,“veloci

Elixir 在长生不老药的混合物中是否有像test_要求的东西?

在Python的setup.py中,我们可以指定应该下载并作为鸡蛋安装的依赖项,方法是指定测试需求。在Elixir的mix中,如何指定只用于测试的依赖项 Mix中的依赖项放在一个名为deps的私有函数中,这不是一个规则,它只是项目部分中deps项的默认值,请参见以下内容: def project do [ app: :teste, version: "0.0.1", elixir: "~> 0.12.5-dev", deps: deps ] # It's here

Elixir 使用种子或迁移exs创建存储过程

我有一些现有的基于Java web的应用程序,我想让它成为这些应用程序的Phoenix版本 我现有的一些数据库有许多存储过程。如何使用迁移或种子exs创建这些存储过程?有线索吗 谢谢我会在迁移中这样做。您应该在up函数中实现创建,在down函数中实现删除。在迁移中使用execute命令运行任意sql def up do execute "INSERT INTO add_col_migration (value, to_be_added) VALUES (1, 2)" end def dow

Elixir 长生不老药中的转义字符串

给定一个字符串,如str=“\”,然后将其呈现到其他一些程序中,如JS或Python: # index.js.eex console.log(„<%= str %>“) # hello.py.eex print(„<%= str %>“) #index.js.eex 控制台日志(“”) #你好,py.eex 打印(“) 结果显示在控制台日志中(“\”) 您可以看到这个问题,反斜杠将转义结束引号,并在JS中产生语法错误 问题是,我应该如何修复它 PS:我是在手机上写的

使用Elixir和Phoenix框架流式传输base64编码的音频文件?

我试图弄清楚如何使用Elixir和Phoenix框架将音频文件编码为base64字符串 这就是我到目前为止得到的 @chunk_size 128 @example_file Path.join(:code.priv_dir(:my_app), "audio/example.mp3") @base64_encoded_mp3 File.read!(@example_file) |> Base.encode64() def listen(conn, _op

上一页 1 2 ...  11   12   13   14    15   16   17  ... 下一页 最后一页 共 125 页