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 如何在Phoenix中正确清理用户输入服务器端

我知道如何清理用户输入客户端,但我也会在服务器端这样做。我知道正确的做法是使用变更集,但到目前为止,我还找不到一个例子来说明如何正确处理标记和其他潜在有害内容,如SQL注入。 因为我想允许用户更改HTML内容并将该HTML保存在数据库中,所以我不能使用标准验证,我在模板中显示rawHTML。 有人能给我举个例子吗?凤凰城html库默认会清理用户输入: <%= "<script>alert("hi")</script>" %> 必须使用以下命令覆盖此选项:

Elixir中位字符串的位计数或汉明权重?

请问我们如何才能有效地计算elixir中位串的汉明权重 示例:0b0101101001的汉明权重为5(即设置了5位) 我的尝试: iex> Enum.count(Integer.to_char_list(n,2),&(&1===49)) 下面是一个性能更好的解决方案,它(对我来说)也更清楚地表明了意图: for(<<bit::1 <- :binary.encode_unsigned(n)>>, do: bit) |> Enum.sum

Elixir 如何将二进制文件拆分为N位块

给定一些二进制/位字符串 <<1,2,3,4,5>> 关键是将二进制文件的其余部分与rest::bitstring(而不是rest::binary)匹配,这也将使二进制文件与部分字节匹配 defmodule BitUtils do def chunks(binary, n) do do_chunks(binary, n, []) end defp do_chunks(binary, n, acc) when bit_size(binary) <

Elixir 在EXTO中同时创建具有所需外部\u id的父、子嵌套关联

我有一个父组件和一个子组件。我想在创建子对象的同时创建父对象,因为没有子对象,父对象就不能存在。具体来说,我有一个订阅,其中有许多服务 如果我的子模型有一个必填字段作为外部约束,那么如何同时创建这两个模型?我的变更集中出现错误,表明parent.id不能为空 我知道我可以做Repo.insert!(Subscription)然后使用Subscription.id创建服务变更集,但我想知道是否可以同时创建这两个变更集 我的父变更集和子变更集如下所示: 家长(订阅) 儿童(服务) 这是一个鸡蛋鸡问题

Elixir EXTO:在集合中订购预加载的数据与有许多关联

假设我有一个用于获取所有线程的工具: Thread |> Thread.ordered |> Repo.all |> Repo.preload([:posts]) 如何为:posts提供order_by子句?在文档中,我似乎找不到任何引用exto.Repo.preload/1的内容,因此提供的示例似乎都没有对正确使用此语法有所帮助 通过该模块,还可以很容易地将某些查询应用于预加载之类的事情 我们实现这一点的方法是将查询传递到preload函数中,然后将预加载的结果限制到该查询

Elixir OptionParser接受[“形式”和“布拉赫”]

我对学习长生不老药还不熟悉 作为起点,我想实现小型命令行应用程序。我在iex中偶然发现了以下内容: args = ["--form", "blah"] OptionParser.parse(args, switches: [src: :string]) 我本来希望得到{[],[],[form:“blah”]}的结果 相反,我“接收”{[form:“blah”],[],[]} 我是不是忽略了什么 此外: 如果我分配argsargs=[“--folm”,“lolo”]结果是{[],[],[{--f

如何在elixir中获得可用的处理器?

在java中,可以通过调用 Runtime.getRuntime().availableProcessors() elixir中对应的api是什么?模块通过调用系统信息提供此信息: :erlang.system_info(:schedulers_online) Erlang将CPU抽象为“调度器”,此API允许您查询可用的CPU数量。Erlang模块通过调用系统信息提供此信息: :erlang.system_info(:schedulers_online) Erlang将CPU抽象为“调度

Elixir 如何在Ecto迁移中为十进制列设置默认值?

我试着做了以下几点: add :balance, :decimal, default: 0.0 add :balance, :decimal, default: "0.0" add :balance, :decimal, default: Decimal.new("0.0") 前2个根本不起作用,因为如果我没有显式传递值,新创建的记录仍然返回nil 第三个返回此错误: **(ArgumentError)类型:Decimal的未知默认值#Decimal:默认值可以是字符串、数字、布尔值和 字符串

Elixir 一名以上的主管使用长生不老药

我想在我的Phoenix应用程序中注册2个根管理员,有什么理由不这样做吗 下面是一个例子 defmodule MyApp.Application do use Application import Supervisor.Spec def start(_type, _args) do children_sv1 = [ supervisor(MyApp.Repo, []), ... # other workers ] children_

Elixir 从长生不老药列表中将大于10的整数分解为其分量

我如何将一个列表(比如[1,2,3,45,67])分解为[1,2,3,4,5,6,7]?您可以尝试以下方法: [1, 2, 3, 45, 67] |> Enum.map(&Integer.to_string/1) |> Enum.flat_map(&String.graphemes/1) |> Enum.map(&String.to_integer/1) # results in [1, 2, 3, 4, 5, 6, 7] 您可以尝试以下方法: [

Elixir 为具有嵌套关联的深度嵌套结构创建EXTO变更集 请考虑以下模式: schema "businesses" do ... has_many :contacts, Contact has_many :conversations, Conversation ... end

鉴于我有一个业务结构,我如何以处理关联的方式创建联系人、对话和消息结构 排除消息部分时,以下操作有效 business |> Ecto.build_assoc( :contacts, %Contact{name: name, phone: phone} ) |> Ecto.Changeset.change() |> Ecto.Changeset.put_assoc( :conversation, %Conversation{business: business}

功能'<-'/2接收块Elixir中的未定义错误

这是我的长生不老药密码 defmodule ErlProcess do def receiver do receive do {:sayHello, msg}->sender<-{:ok, "ok"} end end end def模块处理do def接收器do 接收do {:sayHello,msg}->senderpid ** (CompileError) spawn.exs:4: function '&l

我应该在elixir代码中使用Mix.Utils吗?

我需要通过URL获取文件并将其存储在本地磁盘上 我明白了。Utils有: copy_path!(source, target, opts \\ []) 这似乎正是我想要的,但它是Mix.Utils,你只会用它来写混合任务,而不是解决一般问题 这似乎正是我想要的,但它是Mix.Utils,你只会用它来写混合任务,而不是解决一般问题 通常是的。如果您想使用它,您需要依赖def应用程序函数中mix.exs文件中的:mix应用程序。您知道没有使用mix.Utils实现我想要的功能的任何其他方法吗?不,

Elixir eunit_格式化程序无法在Ubuntu上编译

运行mix deps.compile会得到以下输出: ==> eunit_formatters (compile) Compiling src/eunit_progress.erl failed: src/eunit_progress.erl:none: undefined parse transform 'eunit_striptests' ERROR: compile failed while processing /var/www/myapp/releases/20150618041

Elixir Phoenix-具有多重渲染的控制器

尝试使用Elixir+Phoenix创建一个应用程序,该应用程序将能够处理“浏览器”和“api”请求以处理其资源 有没有可能不用做这样的事情: scope "/", App do pipe_through :browser resources "/users", UserController end scope "/api", App.API as: :api do pipe_through :api resources "/users", UserController e

Elixir 如何在我的模型文件中使用Repo模块

在my标记中型号代码 schema "tags" do field :name, :string field :parent, :integer # parent tag id timestamps end def add_error_when_not_exists_tag_id(changeset, params) do tags = Repo.all(Tag) is_exists_tag_id = Enum.reduce(tags, fn(x, acc) -> a

Elixir 未定义功能错误凤凰长生不老药新项目

通过新安装的Phoenix,我尝试触发一个新项目,当我尝试运行服务器时,我遇到: Unchecked dependencies for environment dev: * gettext (Hex package) the dependency is not available, run "mix deps.get" * phoenix_live_reload (Hex package) the dependency is not available, run "mix deps.

如何在路由器之前添加Elixir/Phoenix插件?

在路由器选择控制器/操作之前,是否有任何方法插入要运行的插头?我有一个应用程序将重定向到特定子域的根路径,而不管这些域上的当前路径如何。因此: sub.myapp.com/foo/bar应重定向到sub.myapp.com/ 但是,默认情况下,路由器说没有/foo/bar的路径,它会停止执行我的插件,这意味着它永远不会点击我的重定向 在路由器选择动作/控制器之前,是否有办法插入我的插头 (注意:我很确定我可以处理这个问题,但我只是好奇是否有更好的方法。)您的路由器在lib/my_app/endp

Elixir 在EXTO查询中构建自定义select

我正在使用Phoenix和Ecto 2.0构建一个应用程序,该应用程序在多个模型中存储大量数据 我希望允许用户执行查询并仅选择所有字段的子集 我已经能够让标准完美地工作(在这方面,与我预期的相比,使用CTO要容易得多;这是开发人员的一大支柱!),但是我还没有弄清楚如何选择东西 我的初始查询如下所示: query = from e in Event, left_join: t in assoc(e, :event_type), left_join: r in assoc(e,

Elixir 添加“后无法编译依赖项:idna”;timex";附属国。

在添加“timex”依赖项之后,我面临这个问题,这里是错误 ==>未找到命令裸机 **(Mix)无法编译依赖项:idna,“/usr/bin/rebar3 bare compile--path”phoenix/_build/dev/lib/*/ebin”命令失败。您可以使用“mix deps.compile idna”重新编译此依赖项,使用“mix deps.update idna”更新它,或使用“mix deps.clean idna”清理它。安装了哪个版本的rebar3?您正在尝试添加哪个版

Elixir 如何让Hound等待页面完全加载?

我正在使用Hound(带有PhantomJS)来刮取网页。有问题的页面懒洋洋地加载我需要的一些Javascript内容 这就是我目前正在做的 def movies do Hound.start_session navigate_to(url()) :timer.sleep(6000) # Do stuff with page_source() end 如何让Hound等待页面完全加载,而不必硬编码任意计时器?不确定这是否是最佳解决方案,但我是这样做的 def wai

Elixir/Phoenix限制参数如Rails强参数

我正在制作一个只支持API的Phoenix应用程序。我来自RubyonRails背景,所以请容忍我 假设我有一个带有电子邮件、密码、密码散列和角色字段的用户模型 我需要限制用户输入的角色和密码\u散列字段,或者将电子邮件和密码字段列为白名单。现在任何人都可以以管理员的身份发布此注册: { "user": { "email": "test3@test.com", "password": "testpw", "password_hash": "

Elixir 如何删除EXTO中的多对多关联?

我不清楚如何删除EXTO中的多对多关联。我不想删除关联的结构,只想删除关系 我的第一次尝试是在join_through表中找到关联并将其删除,但没有主键,因此Repo.delete失败。Repo.delete_all/2查询join表和两个外键 您可以定义一个:on_delete选项,指定删除父项时应对关联执行的操作:我不想删除父项。我想自己删除关联您是否尝试过对联接表和两个外键进行查询?这很有效。谢谢。例如:Repo.delete_all(从“团队用户”中的r中,其中:r.team_id==^

在Elixir中将函数传递给Enum.map

我正在学习Elixir,我想知道是否有更好的方法将函数指针传递到Enum.map。我有以下代码: defmodule MyModule do defp greet(person) do IO.puts "Hello " <> person end def main() do people = ["Manuel Bartual", "El hijo de la Tomasa"] Enum.map(people,

Elixir Stream.unfold建立新状态

下面是使用Stream.unfold显示具有elixir的斐波那契序列的示例 Stream.unfold({0,1}, fn {f1,f2} -> {f1, {f2, f1+f2}} end) |> Enum.take(15) [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377] 为什么它需要在{f1,{f2,f1+f2}}中提供f1,而不仅仅是{f2,f1+f2} 因为在对上述代码的解释中,作者说: 新状态沿序列向下移

Elixir 如何在本地使用dialyxir?

我在phoenix项目下的mix.exs文件中有dialyxir: {:dialyxir, "~> 0.5", only: [:dev, :test], runtime: false} 但在项目路径下运行混合透析器时,出现以下错误: $ mix dialyzer Checking PLT... [:asn1, :certifi, :compiler, :connection, :cowboy, :cowlib, :crypto, :db_connection, :decimal, :e

Elixir 在短时间内发送多条大消息时与Phoenix频道断开连接

首先,我想说的是,在我的公司,我们是长生不老药生态系统的忠实粉丝,尤其是凤凰框架 上下文 一款名为“the broker”的Phoenix应用程序公开了一个频道 名为“客户端”的Phoenix应用程序使用Phoenix_gen_socket_client包连接到代理频道(请参阅) 环境 代理应用程序: 长生不老药1.5.1 凤凰城1.3版 Freebsd监狱v10.3 amd64 客户端应用程序: 长生不老药1.5.1 凤凰城1.3版 MacOSX 问题 当通过通道发送多条消息时,例如使用循

Elixir 不同的终点。e、 Helloweb v Hello.Web

创建新的Phoenix 1.3项目时,我注意到config/prod.exs中的端点是Bia.Web.endpoint。当查看Phoenix Hex文档时,我看到它们引用了Helloweb.Endpoint。我假设后一种格式应该是默认格式,因为当我用mix phx.gen.html生成一个上下文时,我得到下面的编译错误,突出显示它找不到moduleBiaweb。我可以进入控制器并将Biaweb重命名为Bia.Web,然后它就解决了,但我只是遇到了一系列进一步的问题 == Compilation

如何在Elixir中连接charlist

在Elixir中,两个字符串可以与连接,如下所示: iex(1)> "Hello" <> " World" "Hello World" iex(1)>“你好”“世界” “你好,世界” 如何连接两个字符列表?如果我使用,我会得到以下错误 iex(2)> 'Hello' <> ' World' ** (CompileError) iex:2: invalid literal 'Hello' in <<>> (elixir) s

Elixir 凤凰城1.2韩元';t升级到1.3?

我的Phoenix 1.2.4目前正在OSX上运行。我正在尝试使用以下工具升级到1.3: $ mix archive.install https://github.com/phoenixframework/archives/raw/master/phx_new.ez 它不会给我一个错误,但也不会升级。我错过了什么 以下是终端输出: Mb:~t9$长生不老药-v rlang/OTP 20[erts-9.1][source][64位] [smp:4:4][ds:4:4:10][异步线程:10][h

Elixir 如何在phoenix上显示完整回溯

例如,当一个非常大的地图上出现一个KeyError时,它不会显示所有地图并保持截断状态,因此它不会显示出现回溯的行,是否有方法启动phoenix.server以允许更详细的描述 Server: localhost:4000 (http) Request: GET someurl ** (exit) an exception was raised ** (KeyError) key :response not found in: %{conn_map}... (truncated) 在配置/de

Elixir将匿名函数推入数组的最佳方式是什么?

我想知道,通过给定的算法获得结果的最佳方法是什么?当前的解决方案没有帮助,因为结果为nil。如何使变量results在iterate_json中可访问,而不将其作为参数传递 def lookup(json) do results = [] iterate_json(json, fn(x) -> if x["title"] =~ "sunt" do results = [x|results] end end)

Elixir 如何使用条纹长生不老药捕获和存储用户的电子邮件

我有以下代码,我能够创建新用户。电子邮件未存储 代码: 如何捕获和存储他们的电子邮件 我可以发现这段代码有两个小故障: 在Elixir的文字/术语中,单引号和双引号之间存在显著差异。区别在中有详细描述,一般来说是:用于字符列表的单引号与二进制文件(字符串)基本上没有共同之处 看: iex | 1▶ 'abc'=[97,98,99] #⇒真的 “abc”基本上与(伪代码中的)相同 [ ascii值(字符a), ascii值(字符b), ascii值(字符c) ] 这可能应该被认为是从XX世纪

Elixir 长生不老药苦艾酒输入对象

为什么在长生不老药苦艾酒中输入对象不起作用 像 我尝试了,但它为以下有效负载抛出了错误 mutation() { employee: createEmployee(vehicleDetails: { registrationNo: "AP03EY0096", imageUrl: "http://sample.example.com" }) { id } } 错误 In field \"vehicleDetails\": Expected type \

Elixir 为什么';不要用长生不老药停止这个任务?

如果我定义了以下模块,并执行以下操作: 1) {:ok,pid}=ExampleTaskShutdown.start() 2) ExampleTaskShutdown.stop(pid) 为什么ExampleTaskShutdown#stop/1需要Process.exit(..)来停止任务?为什么在示例TaskShutdown#stop/1中使用send(…)无法关闭任务?是因为Task.start(..)中的匿名函数自己的进程不是ExampleTaskShutdown.start()定义的p

Elixir Redix基于名称的池示例-主管签名不';不存在

所以我很难理解这个“超级简单”的例子。新的长生不老药(从红宝石背景) 只是尝试在主应用程序监控树下创建一个redis连接池,用于活动用户会话,但事实上,redis在这一过程中会更有用,所以我正在尝试正确设置 This line: start: {Supervisor, :start_link, [children_redix]} Gives me the following error: ** (Mix) Could not start application gametime: Gam

Elixir 比较结构列表中的项并进行相应更新的最佳方法是什么?

我正在做一个多人玩的石头剪刀游戏来学习长生不老药。我的游戏结构包含一个玩家列表和一个赢家。我希望在每个玩家选择更新分数的选项后,递归地遍历他们(player1与其他玩家比较,然后是下一个,等等,直到所有玩家都被评分)。我正试图找出更新游戏的最佳方式,但就性能而言,我所尝试的一切都显得平庸。最好的方法是什么 链接到特定游戏逻辑: 结构: %RockPaperScissors.Game{ players: [ %RockPaperScissors.Player{choice: "roc

Elixir 将某些变更集字段强制转换为一个EXTO:map字段

我有一个如下所示的变更集: %{ 创建者id:“4”, 名称:“使用GraphQL的测试”, 地点编号:“13”, 主菜编号:“8”, 基地:“小麦”, 类型:“食品” } 我的外星模式如下: schema“items”做什么 字段:类型,:字符串 字段:名称,:字符串 字段:数据,:地图 属于:创建者,Name.SubName.Creators 属于:地点,名称。子名称。地点 属于:entre,Name.SubName.entre 时间戳() 结束 正如您所看到的,base不是一个在ext

Elixir 自定义混合任务未加载测试环境

我正在尝试组合一个自定义混合任务,该任务将以专门的方式执行mix test任务。我的混合任务是混合测试 到目前为止,我已经编写了世界上最基本的自定义混合任务: defmodule Mix.Tasks.Test.Pretty do use Mix.Task @shortdoc "Simply runs the Hello.say/0 function" def run(_) do Mix.env(:test) Mix.Task.run("test", ["--for

Elixir 外部-多个条件不工作的地方。万能药

我正在使用EXTO从数据库中获取数据 有一张照相桌。和摄像机共用一张桌子。我正在尝试获取所有相机,其中相机的所有者id等于给定的所有者id CameraShare表具有与所有者和照相机相关的照相机id和用户id 我正试着把所有的摄像机都放在哪里 相机的所有者\u id=给定id 所有的摄像机都在哪里 CameraShare的用户\u id=给定id 摄影机共享的摄影机\u id=摄影机的id 当我执行上述查询时,我只得到那些CameraShare的用户id和camera id与给定的用户

Elixir 如何通过Supervisor.init启动命名代理?

我有一个非常简单的混合应用程序(它是凤凰伞项目的一部分)。它甚至不包括业务逻辑的流程。例如: defmodule BGAdapter.Application do use Application def start(_type, _args) do children = [ BGAdapter.LifeCycle # Agent ] Supervisor.start_link(children, strategy: :one_for_one, na

如何在Elixir中使用with语句?

我有一个主函数,使用此代码使用其他所有函数: File.read!(文件路径) |>消毒液。消毒源() |>IO.检查(标签:“\n启动器输出”) |>Lexer.scan_words() |>IO.检查(标签:“\nLexer OUTPUT”) |>Parser.parse_程序() |>IO.检查(标签:“\n处理器输出”) |>CodeGenerator.generate_code() |>链接器。生成\u二进制文件(程序集\u路径 但任何时候函数返回错误,其余的都会导致程序崩溃。我的老

Elixir phoenix:检查字段组合的唯一约束

我有一个类似于以下内容的db表: UID QID Attempt score 1 1 1 4 1 2 1 3 1 1 2 5 1 2 2 5 2 1 1 2 2 2 1 3 在插入新值时,我希望确保UID、QID和INTERT组合的记录不存在 我怎样才能在凤凰城做到这一点? 我在凤凰城做我的第一个项目,所以我知道的不多。 非常感谢您的帮助。在迁移过程中

Elixir 将两个列表与地图进行比较

我有两张带地图的清单 products= [ %{ "id" => "7", "use_count" => 1, "name" => "A", "price" => "$1", "base_count" => 2 }, %{ "id" => "8", "use_count" => 0, "name" => "B", "price" => "$14",

Elixir 我如何创建嵌套的组_by?

基本上,我尝试获取数据并使用Enum.group_by创建字典,但我希望继续按子类别对相同的数据进行分组 数据=[ %{公司:一号公司,州:洛杉矶,规模:100}, %{公司:一号公司,州:洛杉矶,规模:200}, %{公司:第二公司,州:德克萨斯州,规模:200}, %{公司:第二公司,州:洛杉矶,规模:300}, %{公司:三公司,州:洛杉矶,规模:400}, %{公司:四公司,州:德克萨斯州,规模:500} ] 我想先按公司分组,然后在地图组中按州分组,再在嵌套地图组中按大小分组。本质上是

上一页 1 2 ...  70   71   72   73    74   75   76  ... 下一页 最后一页 共 125 页