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';s mix.exs

我对mix.exs中的编译路径设置感到困惑。设置如下: defmodule MyProject.Mixfile do use Mix.Project def project do [ app: :my_project, version: "0.0.1", elixir: "~> 0.12.0", deps: deps, escript_main_module: MyProject, compile_path: "ebing/ew/ebin"] end # Confi

Elixir 我怎样才能安静地离开长生不老药?

Process.exit(self,:normal)执行该任务,但它打印出**(exit from#PID)normal。有没有办法在没有消息的情况下退出?有。但是解决方案取决于进程正在运行的代码(以及您看到消息打印的位置) 如果进程没有使用OTP行为,并且只是一个递归函数,那么您可以简单地从该函数返回。您的递归函数只需要有一个函数不再调用自身的情况。大概是这样的: def recursive_function(:exit) do :ok def recursive_function(oth

Elixir在线IDE/游乐场网站

是否有任何网站允许测试Elixir代码片段,保存它们并进行如下共享: (死链接) 我发现类似于: 但他们不允许共享代码,第二次使用Elixir v0.10.2我终于发现,我在2015年发布了elixirplayground.com,但它不再活跃 限制:执行时间限制为5秒,网络已禁用,文件系统为只读 共享是通过Github GIST实现的。有一个共享按钮可以返回URL,或者您可以使用?gist=gistID参数加载任何gist 希望你喜欢 很快就会得到长生不老药的支持 我们最近发布了一个多

Elixir 测试中没有超时

我喜欢在测试中使用断点来查看出了什么问题,但是测试的30秒超时使我无法自由地四处查看 有没有办法禁用它?以下操作不起作用: @tag timeout: 0 test "something" do assert something == 42 end 更新: 使用Elixir 1.1,您还可以使用--trace选项运行测试:混合测试--trace。它会自动将超时设置为无穷大 -何塞·瓦利姆 前长生不老药1.1: 也许可以尝试使用: ExUnit.configure(timeout: 600

增加Elixir IEx.pry会话的超时时间

我正在尝试增加IEx.pry会话的超时时间。具体地说,我正在Phoenix框架单元测试中进行窥探。我在测试主体中添加了以下内容: require IEx IEx.pry 我查看了IEx文档中的pry方法,它说第一个参数是以毫秒为单位的超时时间。但是,当我将pry调用更新为: IEx.pry(60000) 。。。它仍然会在30秒内超时。如何增加此超时时间 编辑 为了子孙后代,使用Elixir 1.1,您可以在测试命令上使用--trace标志,并将使用超时无限。例如: $ iex -S mix

将两个大小相同的列表转换为elixir中的键值对

我试图找出将两个相同大小的列表组合成键值对映射的最佳方法 一段时间以来,我一直在使用相同的函数来处理CSV和原始SQL查询的这种情况,这些查询返回某种类型的头列表和行列表 这是我一直在使用的函数 Enum.zip(list1, list2) |> Enum.into(%{}) 例如: # For CSVS header = ["column1","column2","column3"] rows = [["a","b","c"],["d","e","f"]] Enum.each rows

Elixir 获取当前环境名称

在Phoenix框架中,如何获取当前环境的名称 我已经尝试使用系统读取env变量。获取_env(“MIX_env”),但该值并不总是设置的。您可以使用: Mix.env()不适用于生产环境或其他使用已编译版本(使用Exrm/Distillery构建)的环境,或者当Mix不可用时 解决方案是在config/config.exs文件中指定它: config:your_应用程序,env:Mix.env() 然后,您可以在应用程序中获得环境atom,如下所示: Application.get_env

我的Elixir递归函数返回列表列表,而不是简单的列表

我是,根据链接的书籍(第64页),以下功能: defmodule MyList do def square([]), do: [] def square([ head | tail ]), do: [ head*head, square(tail) ] end 应表现如下: MyList.square [4, 5, 6] [16, 25, 36] 但当我把它插入我在Ubuntu上安装的Elixir 1.2.0时,我得到: MyList.square [4, 5, 6] [16, [2

Elixir 有很多,通过在星外的协会

我仍在努力探索如何通过中的关联创建/更新has\u许多。我也读过关于协会的帖子,但我仍在挣扎 我所拥有的是: web/models/dish.ex defmodule Mp.Dish do use Mp.Web, :model schema "dishes" do # ... has_many :dish_dietary_prefs, Mp.DishDietaryPref, on_delete: :delete_all, on_replace: :delet

Elixir-从源代码安装十六进制软件包

我正在代理服务器后面工作,需要为一个Mix项目安装hex和一些模块 Eshell V7.2 Interactive Elixir (1.2.2) 我能够下载hex-0.9.0.ez以使用mix-archive.install F:/hex-0.9.0.ez安装hex $ mix hex Hex v0.9.0 我也在试着用同样的方法。我下载了.zip并运行: $ mix archive.build -i C:/kafka_ex-0.5.0 -o C:/kafka_ex-0.5.0.ez Gen

Elixir 如何在Phoenix应用程序中设置conn.secret\u key\u base

我在Phoenix应用程序中遇到以下错误: https://github.com/phoenixframework/phoenix/blob/2861f0db3df3d81ee6ce79f928ef4e0b439c4dcd/installer/templates/new/config/config.exs#L16 cookie存储需要设置conn.secret\u key\u base 它似乎来自my PostController模块中此身份验证功能的重定向(至:会话路径(conn,:new)

Elixir 使用变量结构

我正试着写《干灵丹妙药》,戴夫·托马斯的书还在后边呢 下面是Phoenix控制器的一部分,它是为卡自动生成的。实际上,我有各种各样的产品,它们的性能与卡完全相同,因此我想概括一下。下面是我的一项工作,但它没有编译,错误在**{}** 我很确定我犯了一个根本性的错误,因为我对这门语言(但不是函数式编程)还不熟悉 如果您可以帮助我,请注意,我还需要将card\u path转换为变量,但我认为这将与estimate\u path product类似 我也尝试过,但也没有成功 (Struct, pa

Elixir Downcase电子邮件地址并在保存之前创建MD5总和

我有一个电子邮件模型,它存储电子邮件地址。在保存之前,我想对值进行降格处理。另外,我想创建一个MD5总和,并将其保存在md5sum中。在凤凰城最干净的方式是什么 web/models/email.ex defmodule MyApp.Email do 使用MyApp.Web,:model 模式“电子邮件”怎么办 字段:值,:字符串 字段:md5sum,:字符串 时间戳 结束 @必填字段~w(值) @可选_字段~w() @“医生” 基于'model'和'params'创建变更集。 如果未提供参数,

Elixir 如果主机重新启动,如何自动重新启动phoenix?

我们可以在分离模式下启动phoenix服务器,如下所示: $ MIX_ENV=prod PORT=4000 elixir --detached -S mix phoenix.server 在崩溃或主机重新启动的情况下,如何重新启动phoenix?推荐的方法是什么 编辑 # cat /proc/version Linux version 3.13.0-57-generic (buildd@brownie) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) )

Elixir-Exto:如何在变更集中设置属于关联的变更

我有点困在如何实际设置与变更集的关联上。我的模型中有以下代码: defmodule MyApp.MemberApplication do use MyApp.Web, :model use Ecto.Schema use Arc.Ecto.Schema alias MyApp.Repo alias MyApp.MemberApplication schema "applications" do field :name, :string field :e

Elixir 使用多个键更新嵌套映射

假设我们有这样的地图: state = %{ data: %{ "default" => %{ "someKeyword" => %{updated: 2}}, "baila" => %{ "someKeyword" => %{updated: 2}}, "morena" => %{updated: 2} } } 在本例

Elixir 为什么Phoenix在处理exto.NoResultsError时会删除或重写头文件?

在我的Phoenix应用程序的控制器中,我经常使用get/3或通过/3自动触发并响应一个外部NoResultsError 我希望phoenix的协议能够呈现我的应用程序的ErrorView,它就是这样做的 但是,在此过程中,所有标题都会从我的响应中删除,这些标题在exto.NoResultsError之前在conn中完全可用。此问题与CORS问题一起出现,但其他标题也被删除(使用put\u resp\u header测试) 我觉得奇怪的是,这些标题会随着一些隐含的行为突然消失。我可能会通过自己处

Elixir 如何获取客户端的IP地址?

我需要获取客户端的IP地址,这不起作用: def create(conn) do ip_address = conn.inet.ip_address # .... 由于键:未在:%Plug.Conn中找到inet。那么我怎样才能获得IP地址呢?请检查: 远程ip—客户端的ip,例如:{151236219228}。该字段将被理解X-Forwarded-For报头或HAProxy代理协议的插头覆盖。它默认为对等方的IP 这就是你要找的: conn.remote_ip 获取IP

Elixir 如何在iex命令行中输入:binary_id?

我正在用Elixir编写一个应用程序,使用Postgres作为数据存储。在EXTO中,我定义了这个实体: defmodule MyModule.User do use Ecto.Schema import Ecto.Changeset @primary_key {:id, :binary_id, autogenerate: true} schema "users" do field :email, :string end @fields ~w(email)

Elixir 如何存储宏中传递的值?

我有一个定义宏的下一个模块: defmodule BServer.Command do defmacro __using__(_)do quote do @before_compile unquote(__MODULE__) import BServer.Command, only: [command: 1, command: 2, command_description: 1]

Elixir/Phoenix系统命令启动服务器

我已经发布了Distillery,所以我可以从/bin/app start开始,现在我尝试用elixir开始,如下所示: path = "/Users/user/app/0.0.1/bin/" System.cmd("./app", ["start"], cd: path) System.cmd(Path.join(path, "app"), ["start"], cd: path) 但不幸的是,get:enoint错误。我想这是因为/app实际上不是一个命令,而是一个文件。所以,我的问题是

Elixir 动态选择地图外星仪

到目前为止,我已经创建了查询: query = from page in "wagtailcore_page", where: page.url_path == ^url_path, join: h in ^table_name, where: h.page_ptr_id == page.id 我现在想在h 例如,如果我传入[:body,:footer]我想运行: query = from [_page, h] in query, select:

Elixir Phoenix页面在图像上载后重新加载

我的第一个凤凰城项目之一。作为其中的一部分,我为标记文本编辑字段(类似于SO/GitHub)创建了一个拖放文件上载。当一个文件被拖放到该字段时,我点击一个异步控制器操作将该文件保存到文件系统 以下是处理异步文件上载的控制器操作: def create_photo(conn, %{"images" => upload}) do if uploaded_file = upload do File.cp(uploaded_file.path, Application.app_dir(

Elixir 苦艾酒。插头不可用

安装苦艾酒插头后,出现以下错误: = Compilation error in file lib/kerrigan_api_web/router.ex == ** (UndefinedFunctionError) function KerriganApiWeb.Absinthe.Plug.init/1 is undefined (module KerriganApiWeb.Absinthe.Plug is not available) 这是我的副驾驶 {:phoenix, "~> 1.3

Elixir 模式匹配HTTPoison.Response

我正在尝试使用HTTPoison处理来自API调用的响应 在我的应用程序上下文中,我有 def添加到购物车(数据,用户)do case HTTPoison.post!( "https://api.moltin.com/v2/carts/“用户 “/项目”,数据, [{“授权”, “承载#{Agent.get(:token,fn state->state end)}”, {“内容类型”,“应用程序/json”}]do {:好的,%HTTPoison.Response{status_code:201

Elixir 密钥:在中找不到用户id。长生不老药预加载问题

我试图在构建联盟结构时添加用户id,但出现以下错误: ** (KeyError) key :user_id not found in: %{__meta__: #Ecto.Schema.Metadata<:built, "leagues">, __struct__: Statcasters.Schema.League, id: nil, inserted_at: nil, name: nil, teams: #Ecto.Association.NotLoaded<associa

Elixir/Phoenix-单独运行文件时通过测试,但使用混合测试时失败

我遇到了这样运行单个测试文件会通过的问题: 混合测试/app\u web/controllers/page\u controller\u test.exs 但运行整个测试套件将失败: 混合测试 1) test GET / (AppWeb.PageControllerTest) test/app_web/controllers/page_controller_test.exs:4 ** (RuntimeError) expected response with status 200, got

Elixir Phoenix回退操作错误

长生不老药/凤凰框架在这里 我正在尝试添加一个新路由,该路由将解析作为URL段传入的字符串 路由器 # Ping endpoint scope "/", AppWeb do pipe_through :api # Use the default browser stack get "/:hash", ListnerController, :ping end listner_controller.ex def ping(conn, %{"hash" => hash}) do

使用Elixir计算条纹中的按比例分配成本

我正在尝试使用长生不老药计算条纹中的按比例分摊成本。 我正在使用Stripity\u Stripe库 这就是我所做的 获取当前时间作为unix时间 使用Stripe.invoice获取即将发布的发票 我将客户id替换为客户id,将订阅id替换为客户订阅id,将计划id替换为新计划id(希望进行更改),并将订阅按比例分配日期替换为按比例分配日期 它返回为 {:ok, %Stripe.Invoice{ amount_due: 17226, application_fee: nil,

Elixir 如何在Phoenix/Exto上进行自动迁移?

我来自python/django的背景,一个简单的python manage.py makemigrations生成了我的迁移 现在的问题是,对于Ecto,我找不到这样的命令。似乎我必须使用混合exto.gen.migration然后手动填充迁移。它不会自动检测模型中的更改,我必须手动填充 您是否知道如何几乎自动生成迁移(例如,如果我在现有模型中添加一个字段)。截至2018年6月,此功能不存在 作为一个想法,为什么不尝试解析模型中的schema子句,将其与底层数据库进行比较,并根据差异生成语句呢

在Elixir中连接位字符串

这段代码引发错误: iex(35)> a = <<18::size(7)>> <<18::size(7)>> iex(36)> b = <<100::size(7)>> <<100::size(7)>> iex(37)> <<a <> b>> ** (ArgumentError) argument error

Elixir 在Phoenix框架中使用迁移文件是一种良好的做法吗?

场景: 设置一个空的PostgreSQL实例 使用迁移文件仅在Elixir中设置表、外键等 这被认为是长生不老药世界的好做法吗?是的,这是好做法 通过迁移,您始终可以回滚数据库更改,还可以将数据库更改保留在版本控制中,以便始终可以看到何时以及谁更改了数据库结构 迁移后,您还可以与团队中的所有开发人员保持同步,因此,如果您创建了迁移,下一个获取最新代码的人只需迁移数据库的最新版本,现在每个人都处于同步状态,而不必传递数据库转储。是的,这是一个很好的做法 通过迁移,您始终可以回滚数据库更改,还可以将

Elixir 无法在phoenix framework中安装/设置Scrivender

所以我有Phoenix Project v1.3,我想在后端添加分页查询。我正在尝试使用对我的查询进行分页。但我被困在安装过程中 我收到一个依赖项错误 mix.exs defp deps do [ {:phoenix, "~> 1.3.2"}, {:phoenix_pubsub, "~> 1.0"}, {:phoenix_ecto, "~> 3.2"}, {:postgrex, ">= 0.0.0"}, {:gettext, "~> 0.11"}

Elixir 长生不老药

我不确定如何最好地做到这一点: 我有一个函数可以查找IP并返回它来自的国家 country = Geolix.lookup(remote_ip).country.registered_country.name 有时它会失败,在这种情况下,没有定义任何数组键 在其他语言中,我可能会这样做: try do country = Geolix.lookup(remote_ip).country.registered_country.name rescue country = nil end

Elixir 在单个事务中从与给定架构建立关联插入外键

我有一个模式exchange\u账户和user\u档案 user\u profile有一个外键列exchange\u accounts\u id,从exchange\u accounts架构中引用。我想在user\u profile表中插入数据,我需要将exchange\u accounts\u id关联到exchange\u accounts表的主键列 我有create\u user\u profile功能 我用exto.Multi.run 现在基本上我不理解两者之间的建筑联系 def cre

Elixir 在mixshellecho命令中转义JSON

我有一个类似的代码。我希望它在属性上用引号回显一个有效的JSON,这样它就可以通过管道传输到另一个命令。但在回响的同时,它却在扯掉所有的引语 def test_function() do map = %{ "key1" => 12, "key2" => "value1", } json = Poison.encode!(map) IO.inspect(json) Mix.Shell.c

在Elixir中,如何将范围转换为列表?

我可以按如下方式声明一个范围: range = 1..10 有没有办法将范围转换为列表?使用Enum.map/2 range = 1..10 Enum.map(range, fn(x) -> x end) 或 Enum.to_list/1是您要查找的: iex(3)> Enum.to_list 1..10 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 将可枚举项转换为特定集合的通用方法是Enum.into: Enum.into 1..10, [] #=>

结合Elixir使用Erlang库

我在Elixir项目中使用Erlang库时遇到了一个小问题。 所讨论的库是用于ISO-8583邮件打包和解包的erl8583 我为erl8583找到了github存储库,并将我的mix.exs调整为以下内容: defmodule Iso.Mixfile do use Mix.Project def project do [app: :iso, version: "0.0.1", elixir: "~> 1.0", build_embedded

如何获得Elixir中文件的大小?

给定磁盘上文件的路径,以字节为单位检索文件大小的最惯用方法是什么 path = "/tmp/some_file.txt" 这在Elixir中通过使用文件模块中的内置stat功能实现;在这里,我将谈论两个:和 这两个函数都会为其“值”返回一个%File.Stat{}结构,然后通过模式匹配对其进行分解,以提取包含文件大小(以字节为单位)的size字段。这些函数仅在1)返回和2)处理异常(例如未找到文件)的方式上有所不同 用于引发异常的文件大小检查(file.Error): 用于文件大小检查,以优雅

Elixir 如何撤消mix phoenix.gen.html?

mix phoenix.gen.html生成一组文件。我该如何撤销这一代人?或者我必须手工操作吗?我认为没有选项可以从或混合帮助命令中“撤消”。但是,此mix命令phoenix.gen.html确实显示了生成的文件如下所示: $ mix phoenix.gen.html Tweet tweets tweet:string * creating web/controllers/tweet_controller.ex * creating web/templates/tweet/edit.html

Elixir 预加载外部关联的两侧

我如何预加载一个有多个且属于与EXTO关联的的两侧 例如,在一篇文章有许多评论且评论属于一篇文章的情况下: defmodule MyApp.Article do schema "articles" do has_many :comments, MyApp.Comments timestamps end end defmodule MyApp.Comment do schema "comments" do belongs_to :article, MyApp

Elixir 用字符串连接模块

如何将\uuuu模块\uuuu与字符串连接起来 temp=\uuuuuu模块“/blabla”不工作 如果\uuuuu模块\uuuu是Elixir.Tasks.Process.Lixo,则我需要将temp var设置为 “Elixir.Tasks.Process.Lixo/blabla”仅引用当前模块。它返回一个不能与字符串连接的原子。为此,您需要使用以下命令将其转换为字符串: \uuuu模块\uuuu仅引用当前模块。它返回一个不能与字符串连接的原子。为此,您需要使用以下命令将其转换为字符串:

Elixir/Phoenix地理负载平衡器

我正在尝试使用elixir/phoenix制作一个地理负载均衡器,这样当客户端最初连接时,它将选择最接近的ping/延迟最小的服务器,并在将来的连接中使用该服务器 假设客户端在get/balance、PageController、:index处到达平衡器,在我的数据库中有两台服务器:server1.domain.com和server2.domain.com。是否可以通过elixir后端将连接或ping从客户端传递到两台服务器 我可能可以在前端创建逻辑,用js ping,然后将值返回到后端进行存储

Elixir 控制器测试中的Exto.NoResultsError

在我的phoenix控制器中,我使用: ... def delete(conn, %{"id" => id}) do post = Repo.get!(Post, id) with {:ok, %{post: %Post{}}} <- Posts.delete_post(post) do send_resp(conn, :no_content, "") end end ... 但当post不存在时,此测试失败: ... ** (Ecto.No

Elixir 如何像凤凰城的其他语言一样提前返回

我想在有效检查后返回,然后转到其他第1页。 然而,它似乎在后面,然后呈现索引第2页 def index(conn, %{"id" => id}) do unless Model.is_valid!(id) do conn |> redirect(to: other_path(conn, :other)) #(1) end # More process are after this. render(conn, "index.html") #(

Elixir 有没有更好的方法来获取前n个字节和字符串的其余部分?当前使用二进制\u部分和String.trim\u前导

给定一个字符串str=“üabc123”,并且size=5。我想获取前5个字节(“üabc”),以及字符串的其余部分(“123”) 目前我正在做: str = "üabc123" size = 5 a = binary_part(str, 0, size) # "üabc" b = String.trim_leading(str, a) # "123" 似乎有一个更干净的方法可以做到这一点。还有其他方法吗?您可以使用二进制模式匹配 << a::binary-size

Elixir 将单个字符串转换为其代码点

我知道我可以使用?a语法获取字符的码点 iex> ?a 97 但是如果a是二进制的,“a”呢?在这种情况下,如何获取代码点?您可以使用二进制模式匹配: iex(1)>=“a” “a” iex(2)>码点 97 或使用,并提取第一个值: iex>“a”|>String.to|u charlist |>hd 97 小心UTF-8分解形式。在进一步处理之前调用输入总是比较安全的(将:nfc作为第二个参数传递) 人们可能会想到 <<cp::utf8>> = "á"

Elixir 连接和预加载在Phoenix Exto上有什么区别

我不知道如何在凤凰城使用外星 我的模式是: schema "members" do field :first_name, :string field :last_name, :string belongs_to :prefecture, Prefecture timestamps() end schema "prefectures" do field :prefecture_name, :string has_many :members

  1    2   3   4   5   6  ... 下一页 最后一页 共 110 页