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未将数据保存到数据库

我不明白为什么我的查询看起来运行正常,但是当我查看数据库时,我找不到这样的记录-我的循环总共插入了37条记录-而且它们实际上都不在数据库中 我知道我正在连接数据库,因为我可以在Phoenix应用程序的其他页面上查询数据 有人有什么想法我可以调查吗 混合phx.server输出: begin [] [debug] QUERY OK db=0.2ms INSERT INTO `activities` (`days_coding`,`days_done`,`days_merged`,`days_pen

Elixir 长生不老药中的开放模块?

Ruby有开放类,非常方便(尽管有些人对其嗤之以鼻),Elixir大量借用Ruby,因此我希望Elixir允许我在关闭模块后重新打开模块并向其添加宏,但这并没有像我尝试的那样起作用。有没有办法做到这一点?这个功能在Elixir中可用吗 为了使这一点具体化,让我们以Chris McCord的元编程长生不老药为例: defmodule Math do defmacro say({:+, _, [lhs, rhs]}) do quote do lhs = unquote(lh

Elixir 无法返回有毒物质中的编码:日期类型

我在Phoenix中使用默认的json工具,但由于某些原因,我无法返回任何日期(字段类型:date)。我得到这样的东西: unable to encode value: {2015, 3, 24} 我正在使用postgres数据库,数据库中的字段类型为date。我错过什么了吗?在我用毒药编码日期之前,是否需要构建一个解析日期的函数?您的“日期对象”只是一个长生不老药元组。Posion不知道如何编码Elixir元组: iex(1)> Poison.encode({2015, 3, 24})

为什么Elixir中的Rem运算符返回负数?

我正在做一个简单的手术 rem(-1, 25) 我希望这是整数除法的提醒,返回24(与Ruby中的相同),但它返回-1。 我做错什么了吗?elixir上的行为被破坏了吗?根据编程语言,剩余部分的符号实际上会改变:。因此,两者都是正确的,也都是错误的 红宝石: irb > -1.remainder(25) => -1 长生不老药: iex(6)> rem(-1,25) -1 它们的工作原理相同 但我想你指的是Ruby的模: irb > -1.modulo(25)

Elixir Phoenix:对查询集排序

我(一个noob)正在玩弄Phoenix框架以获得乐趣,并构建了一个小型twitter克隆。如果一切正常,我想在字段(升序)按updated_排序推文。正如您从tweet_controller中看到的,我尝试过使用order_by子句,但这对我没有任何帮助 问题 我如何做到这一点?在EEx内还是在tweet_控制器本身内 tweet/index.html.eex <div class="row"> <%= for tweet <- @tweets do %>

Elixir Phoenix:如何避免在生成的CSS生产文件中包含Bootstrap/HTML5样板文件

当我第一次在生产中部署Phoenix应用程序时,我发现我的CSS由于应用程序而被破坏。CSS生成的文件包括不需要的CSS,如引导和HTML5样板。 我想在生产模式下编译时,它们会包含在早午餐中。 如何避免呢 PS:当使用SSH将本地文件发送到远程服务器时,请参阅我对Dmitry answer的评论。您可以删除web/static/css/app.css文件中的所有内容。然后重新编译你的项目@谢谢你,德米特里。这是一个愚蠢的问题,因为我已经这样做了,但现在我发现了问题:我使用的命令将文件从本地计算

Elixir 如何将字符串转换为正则表达式

我有这个密码 reg=~r/(\d{4}.csv)/ raw="some craxy trashy text blabla 0044.csv" Regex.scan(reg,raw, capture: :all_but_first) 这将返回0044.csv 但是,我需要从数据库加载~r/(\d{4}.csv)/,因此我将它另存为 "~r/(\d{4}.csv)/" 这是一根绳子。当我将它加载到变量时,它将是一个字符串 如何将其传递给Regex.scan?您可以使用或Regex.compil

使EXTO架构字段名不同于源表列名(Elixir)

我目前正在从事一个Phoenix项目,我对模板中调用字段的方式不满意 架构当前正在运行 defmodule MyApp.Car do use MyApp.Web, :model schema "car" do field :columnName, :string end end car=Repo.get!(汽车,身份证) 我希望能用电话查询结果 car.column\u name 而不是 car.columnName 由于许多应用程序都在使用数据库,迁移数据库目前不是一个选

Elixir 为什么这个长生不老药脚本只打印第一条消息?

我有以下代码: parent = self() spawn_link(fn -> send(parent, "foo") send(parent, "bar") end) receive do x -> IO.puts x end 当我运行这个脚本时,会打印“foo”,但不会打印“bar”。我是否遗漏了一些关于长生不老药过程的基本信息?Onereceive表达式只处理一条消息。通常的处理方法是将receive表达式放入函数中,在处理完消息后,使其再次递归调用自身

Elixir是否有保存当前文件名的变量(ala Ruby’;s_uuufile_uuu)?

如何在Elixir中指定正在编译的当前文件?在Ruby中,我可以使用\uuu文件\uuu变量。长生不老药中有等效物吗 这是我的剧本: IO.puts “#{__FILE__}” 以下是输出: ** (CompileError) ModulesAndFunctions-7.exs:3: undefined function __FILE__/0 (elixir) expanding macro: Kernel.to_string/1 ModulesAndFunctions-7.e

Elixir 如何使用EXTO创建可组合的where?

我的代码: defmodule Model1 do use Ecto.Schema import Ecto.Query schema "model1" do belongs_to :model2, Model2 end def create_query do Model1 |> join(:inner, [m1], m2 in assoc(m1, :model2)) end def apply_where(query, %{name

Elixir IEx-如何取消多行命令?

当我使用IEx并输入一个类似于附加括号或“”的拼写错误时,大多数时候我都会遇到语法错误。但也有类似的情况: iex(3)> Enum.each '12345', &(IO.puts(&1")) ...(3)> end ...(3)> ) ...(3)> ' ...(3)> end ...(3)> "" ...(3)> ... ? How to produce syntax error ?

如何在Elixir中将范围传递给Enum.filter?

是否可以将范围传递给Elixir的Enum.filter。例如 这很有效 [1,2,3,4,5] |> Enum.filter(&rem(&1,2)==0) #=> [2,4] 但事实并非如此 [1..10] |> Enum.filter(&rem(&1,2)==0) #=> bad argument in arithmetic... 我有一个列表,其中包含我希望传递给筛选器的范围。例如 [1..10, 2, 3] 您不需要将其包装在

phoenix elixir exaws与minio一起使用(上传文件)

我正试着和你一起使用图书馆。 我尝试上载文件: filepath |> S3.Upload.stream_file |> S3.upload(bucket_name, path) |> ExAws.request! 我得到一个错误: [error] #PID<0.1041.0> running Myapp.Endpoint terminated Server: localhost:4000 (http) Request: POST /resources/uploa

Elixir 重新加载后复制通道连接

在我的项目中,我使用了Phoenix频道来分发颜色,我一直收到这样的错误: [debug] Duplicate channel join for topic "colors:*" in EveryColor.ColorSocket. Closing existing channel for new join 如何复制: 进行安装和生成(&M) mix phoenix.server 加载网页一次,一切正常 “重新加载”和“新建颜色”按钮停止工作,控制台中出现上述消息 代码: 后端 defmodu

Elixir 如何验证是否存在关联?

但当我在测试中这样做时: defmodule ParrotApi.Meetup do schema "meetups" do field :timestamp, :integer belongs_to :topic, ParrotApi.Topic timestamps() end @required_fields ~w(timestamp) def changeset(struct, params \\ %{}) d

Elixir 生成ex文件的自定义混合任务

我目前正在尝试编写一个混合任务,在一个phoenix(v1.3)项目中自动搭建一个Elm应用程序。它将生成所有要添加的elm文件/js脚本,并正确安装节点和elm模块。我还生成了一个elm_view.ex和elm_controller.ex,它使用当前otp_应用程序的名称,并正确输出文件,如下所示: defmodule PipeDream.Web.ElmController do use PipeDream.Web, :controller def index(conn, _para

Elixir如何让伞形应用程序中的应用程序进行通信

我在一个伞形应用程序中有两个应用程序:cap和ed 如果使用iex,我可以成功调用第一个函数中的函数: c:\code\a_umbrella_app\apps\cap>iex -S mix ... iex(1)>Cap.Handler.get_price() "128.462" 但当我尝试从我的其他应用程序调用它时,它会给出一个错误 c:\code\a_umbrella_app\apps\ed>iex -S mix ... iex(1)> Ed.Usecap.abc(:

Elixir datetime中的外星人滑稽行为?

我刚刚发现,在创建插入的和更新的时,在EXTO上有一个有趣的行为 午夜过后,我的应用程序表现正常。。但过了午夜,它的行为就像下面的日志 [info] >>> RUNTIME DATETIME {{2017, 7, 4}, {2, 38, 43}} [info] >>> CHAT NEW = %Portal.DailyChat{__meta__: #Ecto.Schema.Metadata<:loaded, "daily_chats">, id:

Elixir 长生不老药操作符~w(列表)

我遵循这个长生不老药的例子 我试图在文档中找到~w做了什么,但找不到 ExUnit.start defmodule ListTest do use ExUnit.Case def sample do ["Tim", "Jen", "Mac", "Kai"] end test "sigil" do assert sample == ~w(Tim Jen Mac Kai) end end 那么~w(Tim Jen Mac Kai)在这个测试中做了什么?这

如何在Elixir上定义共享常数

我可以定义与模块共享的常数吗 通常,我们对模块内的常量使用模块属性。 如果我想使常数对其他模块可用,我该如何做? 首先,模块属性仅在模块(1)内部可用。 我知道我可以将函数用作常数(2)。 但如果可能的话,我想用3这样的专用形式定义常量 defmodule Sample do # 1. module attribute(available only inside module) @private_const_value 1 # 2. function as consta

Elixir 返回Enum.each处复杂条件下的项

我有这个收藏 collection = [%{"id" => 1, "items" => ["test1", "test2"]}, %{"id" => 2, "items" => ["test3", "test4"]}] 如何拥有项目“test3”我可以获得映射%{“id”=>2,“items”=>[“test3”,“test4”]}] 如何做到功能性风格?如果未找到,则返回nil Enum.each(collection, fn(eleme

在Elixir Phoenix苦艾酒GraphIQL客户端中实现身份验证?

我在苦艾酒中使用内置的GraphiQL接口。详情如下: pipeline :browser do plug RemoteIp, headers: ~w[x-forwarded-for], proxies: ~w[] plug :accepts, ["html", "json"] plug :fetch_session plug :fetch_flash plug :protect_from_forgery plug :put_secure_br

Elixir 使用Timex设置验证链接的超时

保存到数据库后,我通过电子邮件发送验证链接。我希望链接有一个超时,也就是说,在一定的持续时间后它将被呈现为无效。如何使用Timex实现这一点?我不想使用其他身份验证包,如Coherence。您可能根本不需要Timex,现在假设您的DB使用的是naive时区,您可以使用 # Assuming the link will expire in an hour (3600 seconds) valid_till = NaiveDateTime.add(NaiveDateTime.utc_now(), 3

Elixir 如何使用EXTO添加互斥约束?

我有一个包含两个字段的模式,a和b,我希望正好需要其中一个字段。也就是说,如果提供了a,则不应提供b,反之亦然 有没有一种方法可以优雅地用EXTO变更集验证来表示这一点?大概是这样的: schema "foo" do field(:a, :string) field(:b, :string) field(:c, :string) timestamps() end def changeset(transaction, attrs) do transaction |>

Elixir case语句在select merge中设置为模型

以下是参数: %{ "$select" => %{ "$avg" => ["arrive_at"], "$count" => ["arrive_at"], "$fields" => ["id"], "$max" => ["cost"], "$min" => ["arrive_at"], "$sum" => ["arrive_at"] } } 代码如下: select when is_map(

重置密码-Elixir后,Comeonin.Bcrypt checkpw方法返回false

我正在使用Comeonin.Bcrypt进行密码加密。注册帐户时工作正常,我可以成功登录。但是,一旦我重置了密码,checkpw方法对于新密码和旧密码总是返回false。我正在使用下面的方法生成密码哈希 defp put_pass_digest(changeset) do case changeset do %Ecto.Changeset{valid?: true, changes: %{password: raw_passwd}} = cs ->

如何在凤凰城elixir中安全地从web输入转换datetime以调度作业

我需要使用datetime选择器从前端获取日期和时间信息。所以在我的控制器里 def show(conn, %{"date" => date, "time" => time}) do # date value will be "2018-09-29" # time value will be "12:00" end 在functino中,如何正确地以这样的原始datetime格式构建datetime ~N[2018-09-29 12:00:00] 您拥有的格式几乎与ISO 86

为什么Elixir中的基本函数(即length/1)在默认内核模块下?

Elixir中的内核模块提供了很多功能,默认情况下,可以在任何地方导入,而不需要前缀Kernel。但是,其中许多函数只作用于特定的数据类型 对我来说最突出的是那些在列表上操作的,比如,hd/1和tl/1。Elixir已经有了,那么为什么列表模块(即List.length/1)中没有包含这些函数呢 我知道对于常用的函数来说,它更短、更方便,但是如果使用别名在List这样的模块中复制功能,会不会更好?考虑到这些函数是以宏的形式实现的,并且是由编译器内联的,是否存在语言约定或技术限制会使这一点变得困难

Elixir/Phoenix框架认证/授权

我正在为elixir/phoenix框架做一个项目。有一个关于授权的问题。例如,我有一条路线: get "/dashboard", DashboardController, :index 我只希望登录的用户能够通过此路径。当我介绍这个过程时:用户沿着这条路线走,它检查用户是否登录。如果是,则调用处理此路由的控制器函数;如果不是,则重定向到登录页面。请告诉我,如何在phoenix框架中正确实现这一点?可能有许多类似的路由,我希望有一个处理程序用于此。我正在使用它进行身份验证。我有以下管道: p

从Supervisor Elixir迁移到DynamicSupervisor

我正在尝试从Supervisor升级到DynamicSupervisor 我有一个简单的主管 use Supervisor alias EvercamMedia.Snapshot.Worker def start_link() do Supervisor.start_link(__MODULE__, :ok, name: __MODULE__) end def init(:ok) do children = [worker(Worker, [], rest

Elixir和字符串中的多个替换字符

我是一名初学者,正在使用旧数据库,其中像Ę、ę、Ń、ń这样的字符像一样保存;;;ca…这是一种使用Phoenix框架的Elixir语言。 我想在代码中替换多个字符,我有一个函数: def convert_content(content) do content = String.replace(content, ";;;ca", "Ę") content = String.replace(content, ";;;ea", "ę") content = String.r

Elixir 无法调用任务“;“酿酒厂.放行”;

我正在研究几个不同的How-Tos(项目中的主要部分加上几个通过Google搜索的部分),以便edeliver部署代码,但我找不到解决此问题的方法无法调用任务“distillery.release”:发现1个错误问题: $mix生成版本 在构建主机上构建HELLO_WORLD应用程序的发布 ----->授权主机 ----->确保主机准备好接受git推送 ----->使用git将新提交推送到:abc@company.com ----->将远程主机重置为b8a7e8d2098b228f693352a

Elixir phx更改后更新表单字段的值

我有一个LiveView应用程序,可以搜索机场代码。当用户输入ham时,它应该将表单字段的内容替换为ham(String.upcase/1),但它不会。但根据我对代码的理解,应该是这样的。要用升级版本替换该字段中的所有输入,我必须更改什么 顺便说一句:如果我添加了一个按钮,并使用phx submit而不是phx change,它就会工作。但是我想让它为phx change工作 安装程序 lib/travelagent\u web/router.ex [...] scope "/", Trave

如何在Elixir中对两个列表进行异或

假设您想对两个列表进行异或运算 列表1=[0,1,0,1] 列表2=[0,1,1,0] 为您提供一个新列表,即[0,0,1,1] 或者可能是[1,1,0,0]和[1,1,1,1,1,0,1,0],但只对前4个进行异或运算,然后将第二个列表中的其余部分复制到新列表中,得到[0,0,1,1,1,0,1,0,0,1,0]。在Erlang中,可以使用递归定义 列表\u xor[],L-> L 列表\u xorL,[]-> L 列表异或[H1 | T1],[H2 | T2]-> [H1 bxor H2 |

Elixir 如何停止“中启动的长生不老药应用程序”;“分离的”;模式

我使用以下命令启动了我的应用程序: elixir --erl "-detached" -S mix phx.server 如何停止/重新启动进程?找到了答案 假设是类UNIX系统: ps aux| grep长生不老药 查找运行已加载elixir和phoenix应用程序的Erlang VM的OS进程的进程id,然后 杀数 阻止它。number是ps aux输出的第二列中的数字(第一列包含拥有(即启动)进程的unix用户的名称)。 之后,您可以再次尝试ps aux | grep

Elixir 外星生物如何过滤一个有很多通过关系

我正在学习如何使用EXTO编写查询。我想从has\u many-through关系中筛选结果,如果可能的话,只需通过Repo.all()调用一次数据库 我假设可以通过使用现有查询组合此查询来实现这一点。e、 g def users(organization_id) do Repo.get(Organization, organization_id) |> Ecto.assoc(:users) end def bookings(%{organization_id: organiz

在elixir中访问中间结果

我有下面的代码,我想有人会喜欢使用管道,但我不知道如何使用——我尝试了很多不同的方法,但似乎我对管道的工作原理缺少一个关键的理解。总之:下面的代码实现了我想要的功能: 项目有许多预算项目/工作项目 def show(conn, %{"id" => id}) do project = Clients.get_project!(id) project = Map.put_new(project, :budget, total_budget(project.b

Elixir exto.Query.from/2的第二个参数

我在尝试使用构造查询时遇到了一个奇怪的错误。 请参阅下面的代码: iex(24)> import Ecto.Query, only: [from: 2] nil iex(25)> from User, limit: 1 # valid #Ecto.Query<from u in Jcb.User, limit: 1> iex(26)> opts = [limit: 1] [limit: 1] iex(27)> Keyword.keyword? opts tr

Elixir 在phoenix模板中访问中间实体

我正在制作一种学校状态跟踪器,但我遇到了一个问题。我有两个主要的实体用户、事件和实体存在,它们之间将它们绑定在一起。我正在访问模板中的主实体,但我需要访问相关中间实体以读取状态(如果状态为1绿色背景,如果状态为0红色) 用户: 活动: schema "events" do field :name, :string #Stuff has_many :presences, Presence, on_delete: :fetch_and_delete has_man

Elixir 长生不老药中的字符串比较

我试图比较Elixir中的字符串位-如果它们相等,则if块触发,或者else块触发 def show(conn, %{"id" => id}) do Logger.info id Logger.info "----------" Logger.info conn.assigns.current_user if conn.assigns.current_user == id do professional = Repo.get!(Profess

Elixir GenStage:如何处理制作人无法提供事件的情况?

以下场景:GenStage制作人处理推特流(使用and)并向GenStage消费者提供一组推特(消费者要求的最大需求)。然后消费者只需打印它们 以下问题:我正在寻找特定的tweet,因此并不总是有新的tweet可用。如果GenStage制作人返回的事件列表为空,则消费者将停止询问。更多信息,请参阅 我不知道如何解决这个问题。非常感谢您的帮助。这就是我到目前为止所做的: defmodule MyApp.TwitterProducer do use GenStage alias MyApp.

Elixir 神经,菲尼克斯,GPIO?

我有一个伞式应用程序设置,如前所述,一切都很好地编译 我剩下的一个问题是,在这个场景中,Phoenix应用程序如何与GPIO交互?elixir_ale将只在目标设备上编译,我无法通过Phoenix应用程序引用Neurs项目 场景:我单击众所周知的按钮切换光源。web请求将命中控制器;如何引用底层应用程序以与GPIO交互?您需要创建一些充当中介的MessageBroker。在基于Neurs的设备上运行的OTP应用程序运行在同一个梁上,因此所有常规消息传递功能和模式都可供您使用 您可以使用Phoen

Elixir (重新)生成通过唯一约束的唯一键

我正在为这样一个模型生成一个唯一的密钥 def changeset(%__MODULE__{} = post, attrs) do post |> generate_key() |> unique_constraint(:key) end defp generate_key(changeset) do key = :crypto.strong_rand_bytes(5) |> Base.url_encode64 |> binary_part(0,

Elixir Phoenix-无与GuardianDb匹配的case子句错误

在我的Phoenix应用程序中,我正在使用和进行用户授权。最初,我只使用了Guardian,所有的auth过程都运行得很好。然而,在将GuardianDb添加到组合中(用于令牌存储)后,令牌记录被正确创建,但我得到了一个无case子句匹配错误,这给工作带来了麻烦,我似乎无法找到解决方法。下面是一切的进展情况 首先,从mix.exs: {:guardian, "~> 0.14"}, {:guardian_db, "~> 0.8.0"}, config :guardian, Guard

Elixir 外胚层

在我的Phoenix应用程序中,我有以下模式: defmodule TattooBackend.Accounts.Account do schema "accounts" do field :email, :string field :crypted_password, :string field :password, :string, virtual: true field :password_confirmation, :string, virtual:

Elixir 管道链应以原始值开始

我在Phoenix应用程序控制器中执行以下操作: def index(conn, params) do studios = if params["search"] do Studio.search(Studio, params["search"]) else Studio end |> Repo.all |> Repo.preload(:address) render c

Elixir 混合EXTO.create bcrypt_elyxir和nmake错误

我在订购mix Exto.create时与Phoenix有问题 我在寻找解决办法,但什么也找不到 如果你有主意,我感谢你 你有没有考虑过安装nmake?我重新安装了nmake,现在出现了以下错误:(ErlangError)Erlang错误::eacces Erlang.erl:2118::Erlang.open_端口({:spawn_executable,'c:/Users/Victor/AppData/Roaming/npm/nmake.cmd'},[{:env,[]},{:cd,“d:/pr

Elixir 长生不老药理解返回一个明星角色'*';

我有一个在p.following中返回的角色模型列表,我想将followind\u id字段从这个模型列表中提取到一个单独的列表中 p.followings returns... [ %Poaster.Personas.Following{ __meta__: #Ecto.Schema.Metadata<:loaded, "followings">, followed: %Poaster.Personas.Persona{ __

上一页 1 2 ...  23   24   25   26    27   28   29  ... 下一页 最后一页 共 125 页