我想通过URL查询字符串(比如:?secure_string=xxxxx)将一个字符串从Elixir/Phoenix(服务器)安全地发送到PHP(客户端)。这些环境没有SSL,但它们可以提前共享私钥。因此,我认为我可以通过加密(如AES)安全地传输字符串
因为PHP有openssl_decrypt(),所以它可以像下面这样解密字符串。Elixir(或Erlang?)可以调用openssl_encrypt,而不是System.cmd(“/usr/bin/openssl”)?还有其他(更好的)方法吗
我正在完成凤凰城的编程书,我的Wolfram服务并没有像预期的那样工作
在iex-S mix中运行以下命令时:
Rumbl.InfoSys.compute("what is the meaning of life?")
它返回:
[]
预期值如下所示:
[%Rumbl.InfoSys.Result{backend: %Rumbl.User{...}, score: 95,
text: "42\n(according to the book The Hitchhiker"
标签: Elixir
phoenix-frameworkecto
鉴于以下情况:
[
{"2016-05-06T08:59:50", "Woke up"},
{"2016-05-06T09:30:20", "Ate breakfast"},
{"2016-05-07T01:48:10", "Went to bed"}
]
%{#Ecto.Date<2016-05-06> => [{"2016-05-06T09:30:20", "Ate breakfast"},
{"2016-05-06T08:59:50", "Woke up
我有Guardian.Plug。确保在我的路由器管道中重新验证了。如何在控制器测试期间通过测试?我的Phoenix授权控制器测试通过了。以下是我的解决方案:
test/controllers/inbox\u controller\u test.exs:
defmodule MyApp.InboxControllerTest do
use MyApp.ConnCase
alias MyApp.User
setup do
user = %User{id: "a1234"}
当代理nginx位于子位置时,套接字的问题会起作用
部署官方文档中的示例应用程序
进一步配置Nginx
server {
listen 4200;
server_name phoenix_chat_example;
access_log /var/log/nginx/phoenix_chat_example.access.log;
error_log /var/log/nginx/phoenix_chat_example.error.log;
charset
标签: Elixir
phoenix-frameworkecto
上面的代码给出了下面的错误,我是否遗漏了任何东西
**(RuntimeError)预期操作/2返回插头。连接,所有插头必须接收连接(Conn)并返回连接
也许可以提供更多关于Alpha.beta/2应该返回什么的信息。通常,您的错误点是,并非所有场景都包含在案例中。考虑使用最后一个场景 >代码>,它将与其余部分匹配。
另外,如果您将Alpha.beta/2的结果分配给变量,然后呈现结果,而不是使用case,那么您可以简单地使代码更可读、更干燥,如果您在这两种情况下基本上都这样做的话
def cr
我想在模板中使用时间戳的日期和月份,即在处插入时,当使用以下内容时,该外部组织将自动创建(2017-04-10 16:22:43):
<%=i.inserted_at%>
到目前为止,最好的方法是什么?您可以使用,例如:
> {:ok, default_str} = Timex.format(datetime, "{ISO:Extended}")
{:ok, "2016-02-29T12:30:30.120+00:00"}
例如,您可以使用:
> {:ok, de
我们以这个模板位为例:
<%= if (length thread.posts) > 0 do %>
<%= for post <- thread.posts do %>
<%= for post <- thread.posts do %>
<%= render "post.html", post: post %>
<%= end %>
<%
我试图从元组列表中提取值:
s3_headers = %{headers: [{"x-amz-id-2","yQKurzVIApkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxFBINsPxe+7Vc="},
{"x-amz-request-id", "82xxxxxxxxx23"},
{"Date", "Thu, 25 May 2017 22:03:09 GMT"},
{"Last-Modified", "Thu, 25 May 2017 21:42:28 GMT"},
标签: Elixir
phoenix-frameworkelixir-mix
我是长生不老药的初学者。我正在开发api。它是通过使用命令iex-SMIX直接从mix运行的。此应用程序包括聊天室服务器和api服务器。它有单独的mix.exs文件
我还需要为登录/注销功能在后端会话处理创建网站。我在用凤凰城。它有启动服务器的命令mix phoenix.server
它们都有共同的数据库和模块
所以,我想从一个混合文件中同时运行这两个。
我应该为web服务器创建不同的mix.exs并处理两个不同的应用程序,还是可以从单个mix.exs文件运行。
如果一个应用程序崩溃怎么办
是否
我想知道,如果没有调用函数并且只接收一个参数,为什么在使用管道操作符时需要添加()
id = &(&1)
"Hello" |> id.() |> upcase # HELLO
期望值:
id = &(&1)
"Hello" |> id. |> upcase # "undefined function String.upcase/0"
为什么不起作用?我想解释一下长生不老药的作用。长生不老药中没有“在对象上定义的方法”。模块具有功能。
我找到了一种使用arc和arc\u-exto本地上传附件的方法。不过,我想找到一种方法,让我的应用程序的用户只需单击浏览器上的下载按钮即可下载或保存这些上传的文件。下载的文件将位于单独的文件夹中
我已经查阅了很多资料,但我似乎还不明白
请问我该怎么做?也许这有助于您:
发送给定的文件或二进制文件作为下载
在Phoenix控制器中,使用上载文件的路径调用函数
要发送存储在application priv目录中的文件,请执行以下操作:
path = Application.app_dir(:my_a
标签: Elixir
erlang-supervisorgen-server
我试图从用户那里获取一个输入,然后创建genserver的数量作为输入并监督它们。我的代码类似于
defmodule GossSim do
use Supervisor
def main(args) do
# Since it is a mix generated project I had to put the main
Supervisor.start_link(__MODULE__, args)
end
def start_link(args) do
Superviso
我有一个长生不老药宏列表,并试图在其周围加引号,请帮助我
我想将[Id,Node,Timestamp]转换为“[Id,Node,Timestamp]”
我该怎么做呢?如果你有一个引用的表达式,我相信这就是你想要的
iex> ast = quote do: [Id, Node, Timestamp]
[Id, Node, Timestamp]
iex> Macro.to_string(ast)
"[Id, Node, Timestamp]"
然而,正如Aleksei所指出的,原子列表
标签: Elixir
phoenix-frameworkelixir-mix
我在应用程序中有一些工作人员(儿童)。启动。如果phoenix应用程序运行于任务而非mix phx.server(例如使用mix-exto.reset),则不应启动它们。
因此,如何在Application.start中知道它是mix phx.server运行代码?没有记录的方法来检查应用程序是否作为任务启动,例如。G因为应用程序对生产没有mix依赖关系
通常,通过在项目配置中使用:included_应用程序,并在需要时手动加载它们来解决这种微调问题。对于要检查的条件,可以使用环境变量(可选通过
标签: Elixir
phoenix-frameworkecto
我有表user\u profile和roles。在user\u profile引用roles表中存在外键列roles\u id。
在将数据插入用户配置文件表之前,我必须在两个表之间建立\u关联
我正在尝试使用EXTO.Multi.merge执行此操作,但存在一些错误。它不起作用。我不知道我犯了什么错误。
根据我的说法,exto.Multi.merge函数接受函数返回的多对象。
直接传递函数不起作用
def create_user_profile(profile_info, dealer_id)
我正在尝试监督一种长生不老药的方法。我将此模块命名为EvercamMedia.SnapshotExtractor.CloudExtractorasGenStage,并将一些参数传递给它,例如
def handle_cast({:snapshot_extractor, config}, state) do
_start_extractor(config)
{:noreply, [], state}
end
这个\u strat\u extractor方法本身非常长,有很多方法。但在所有这
我有一个带有文件字段的HTML表单,用于将文件上载到Phoenix应用程序中的/file路径
我使用curl-v-F“file=@MyTestFile”在命令行中模拟这种行为http://localhost:4000/file/用于更快的测试
当我使用一个大文件(转折点似乎在7.7MB左右)时,我从Plug得到以下异常:
18:40:38.897[error]进程中存在错误,退出值为:{[{reason,{strong>异常'=>true,结构'=>'Elixir.Plug.Parsers.Re
我是Phoenix Framework的新用户,我正在尝试设置一个简单的HTTP POST服务,该服务对传入数据执行计算并返回结果,但出现以下错误:
** (RuntimeError) expected connection to have a response but no response was set/sent
stacktrace:
(phoenix) lib/phoenix/conn_test.ex:311: Phoenix.ConnTest.response/2
(p
我有一个外部URL(第三方代码),我想发布一些数据,我不必等待响应
我如何在长生不老药中做到这一点(如果可能的话?)
实际上,我想将一些数据卷曲到外部url
看起来好像它能解决我的问题:)谢谢谷歌
编辑:而且->非常好。我经常使用它。在阅读Dave Thomas的《编程长生不老药》时,他在一些示例中使用了httpoison。似乎是一个简单的库开始使用我现在已经使用它,我在我的ExUnit测试中使用它来测试我的Phoenix路线。工作出色!如果要测试控制器动作,可以使用Phoenix.ConnTe
如果我将IEx.pry放入elixir代码中,然后使用IEx运行它,断点会按预期命中,但几秒钟后就会超时
我知道我可以通过将毫秒数传递给IEx.pry来调整超时长度,但我根本不想要任何超时
如何停止超时?如链接中所述
使用--trace选项运行测试
mix test --trace
如链接中所述
使用--trace选项运行测试
mix test --trace
是的可能重复,如果是在测试期间,则上面的链接是正确答案。@user2355213请澄清您在什么情况下运行IEx.pry,如果链接的问
我在lib/mix/tasks/Thing.exs中有一个任务
代码是:
defmodule Mix.Tasks.Thing do
use Mix.Task
def run(_) do
IO.puts "hello world"
end
end
当我运行mix thing或mix thing时,我得到任务对象找不到或任务对象找不到
我之前试过运行mixcompile,但没有效果
我还尝试将中的代码直接放入我的mix.exs中,如问题所示。我仍然无法运行任务。需要编译混合
我需要一个具有某种逐步逻辑的函数,我想知道如何制作一个。让我们以一个站点的登录过程为例,所以我需要下面的逻辑:
1) 电子邮件是否存在?是->继续;否->返回错误
2) 电子邮件至少有5个字符?是->继续;否->返回错误
3) 密码是否存在?是->继续;否-返回错误
等等
为了实现这一点,我通常会使用return语句,这样,如果电子邮件不存在,我就会停止执行该函数并使其返回错误。但我在长生不老药中找不到类似的东西,所以我需要一个建议。我现在能看到的唯一方法是使用嵌套条件,但也许有更好的方法?您不
我是elixir方面的新手&使用iex测试一些代码从MeteorJS到elixir的可移植性(凤凰城)
在上面的代码x*2中,仅影响内部函数,实际上我希望在该函数执行后将该编辑(内部函数)更改为外部
我最初期望x=1,在函数执行之后期望x=2
如何在elixir中的函数中编辑多个全局变量?这是一个范围问题,我在中已经解释过。《入门指南》中特别提到了这一点
您需要将该值重新绑定到函数的结果。这是因为函数在它们自己的作用域中运行
iex> x = 1
1
iex> x = (fn -&g
有没有办法让函数“type”在Elixir中实现协议?我正在玩一个自定义的Functor协议,想知道是否可以让函数实现它(忽略Elixir类型系统的所有限制)
实现(如果函数中有一个类型)将是
既然你能做到
f_2x_plus_1 = &(&1 * 2) |> Functor.fmap(&(&1 + 1))
f_2x_plus_1.(1) == 3
并不是说我会用它来做任何严肃的事情,只是想知道。因为Erlang/Elixir是动态类型的,所以严格的答案是
解决了问题谢谢,我在安装esl erlang后遇到了这个问题,elixir安装程序出于某种原因将其删除。
mix compile
==> gettext
could not compile dependency :gettext, "mix compile" failed. You can recompile this dependency with "mix deps.compile gettext", update it with "mix dep
s.update gettext"
我的Phoenix框架应用程序中有一个post模型
我想通过终端添加记录。在Rails中,我可以在Rails控制台中执行以下操作:
u = Post.create title: "My Title", content: "Here's my content..."
在IEX中,与此等价的是什么?在中找到了答案
在IEx中,我可以这样做:
post = %MyApp.Post{title: "My Title", content: "Here's my content..."}
其次是:
My
我目前正在阅读《编程长生不老药》一书,刚刚发现这个“地图”的例子是以并行方式实现的:
defmodule Parallel do
def pmap(collection, fun) do
me = self
collection
|> Enum.map(fn (elem) ->
spawn_link fn -> (send me, { self, fun.(elem) }) end end)
|> Enum.map(fn (
在网络中使用了术语协议(http、ftp等),我对它在Elixir中的用法感到困惑。例如,有对枚举模块和可枚举协议的引用。Elixir文档称,协议是在Elixir中实现多态性的机制
它们不只是一个带有一组方法/函数的模块吗?有什么区别吗?将协议看作Python中Java/抽象类中的接口(事实上,Java接口,特别是Python抽象类,更像是@行为)
代码中有:
%Dog{} |> Sound.make_sound
#⇒ "Donny barks “woof”"
或:
此机制用于字符串插
下面是一个简单的测试主管:
defmodule SupervisorTest.Worker.Supervisor do
use Supervisor
def start_link do
Supervisor.start_link(__MODULE__, :ok, name: __MODULE__)
end
def start_worker(args) do
Supervisor.start_child(__MODULE__, [args])
end
标签: Elixir
phoenix-frameworkex-unit
我希望在测试套件的开头运行一段代码(将数据插入数据库!),并在整个测试套件中持续运行
这样的事情可能吗
我尝试在setup\u all块中运行代码,但是:
A) 我尝试在这里插入数据库时失败了;
B) 这将只在该测试模块之间共享,而我希望它在所有测试之间共享
谢谢你的帮助 在开始测试之前运行一次
只需将通用代码放入您的测试/测试助手中。exs:
ExUnit.start()
# Common Code
ModuleOne.some_method
ModuleTwo.other_method(a
在elixir中,我们有spawn/1来生成一个不带任何参数的匿名函数,还有spawn/3来生成一个带参数的完全限定函数。但是如何生成需要参数的匿名函数呢
示例:我想运行一个匿名函数,在满足特定条件之前接收消息。参数是能够执行递归步骤的函数本身
loop = fn f ->
receive do
{:end, pid} -> send(pid, "exiting")
{_, pid} ->
send(pid, "unrecognized mess
这不是一个问题,我只是想确保这段代码对测试的效果与我认为的一样。我希望有一个通过工厂构建/创建结构的测试,并检查以确保变更集有效,就像默认生成的测试一样。通过这种方式,我的工厂也被测试生成有效数据
例如,此默认测试使用属性映射创建结构更改集并验证数据:
@valid_attrs %{
email: "some@email.com",
first_name: "some content",
last_name: "some content",
password:
我正在使用简单的凤凰长生不老药应用程序。在这个应用程序中,我试图公开一个RESTAPI来保存和检索数据
在我的例子中,如果主键(电子邮件地址)是重复的,我的应用程序将抛出一个错误。
我需要知道处理这个错误的最佳方法;要么尝试catch,要么尝试其他更好的解决方案
这是我的数据保存方法
def post(conn, %{"stooge" => stooge, "name" => name, "email" => email , "password" => password}
我在umbrella项目中对一个应用程序进行了如下配置:
config :logger,
backends: [:console],
level: :debug,
format: "\n$time $metadata[$level] $levelpad$message\n",
metadata: [:application, :module, :function, :file, :line]
在工作进程中,我已记录:
Logger.info("Connected to Rabb
我有下表:
Table "public.cards"
Column | Type | Modifiers
---------------+-----------------------------+----------------------------------------------------
id
用于验证2系统中的文件大小。我确实创造了类似于吹入长生不老药的代码
def file_md5_creator do
filepath = "/Users/shahryar/Desktop/test.jpg"
File.stream!(filepath) |>
Enum.reduce(:crypto.hash_init(:md5),
fn(line, acc) -> :crypto.hash_update(acc,line) end ) |
标签: Elixir
phoenix-frameworkslim-lang
我找到了一种方法,在HTML属性中定义一个变量,如下所示:
div data-name=some_var id="component"
div id="component"
javascript:
var templateData = {
name: '<%= @name %>',
product_str: '<%= Poison.encode!(@product) %>',
};
然后,我可以从Javascript检索它:
alert($("
标签: Elixir
phoenix-frameworkguardian
如果你有这样的控制器
def index(%{assigns: %{current_user: %User{} = current_user}}} = conn, params) do
## User exists
end
def index(conn, params) do
## No user exists
end
如果我运行这个测试,我希望它调用第一个索引操作,但是它调用第二个操作,没有用户,并且由conn分配的是%{current_user:nil}
为什么当前用户分
项目DEP的编译突然开始失败,没有任何重大代码更改或升级到Elixir或Erlang
环境
Elixir v 1.6.4,Erlang 20.3.4
操作系统:Mac OS 10.13.4
我的部门:
终端输出:
重新启动Mac
启动Xcode以查看是否一切正常
升级自制软件
安装Xcode命令行工具,因为Brew说Xcode select-install缺少这些工具
一切都在上面
通过:
确保未安装全局版本的钢筋。
运行mix local.rebar
到目前为止没有任何效果。运行brew do
我有以下情况:
我在数据库中存储产品及其变体(有许多)。然后我在一个请求中将产品及其变体发送到API,如下所示:
payload=%Product{
# ...
变体:[
%变体{
# ...
选项1:“黑色”,
选项2:“64GB”,
},
%变体{
# ...
选项1:“白银”,
选项2:“64GB”,
}
],
卖主:“苹果”
}
当我得到响应时,我需要更新数据库中的产品及其变体。答复:
%Shopify.Product{
# ...
创建时间:“2018-04-26T12:54:33-
标签: Elixir
phoenix-frameworkecto
我正在尝试在查询预加载中按顺序排序。这是我的疑问:
query =
from(
p in Project,
preload: [rows: {from(r in Row, order_by: r.index), [images: from(r in Row, order_by: r.index)}]],
where: p.user_id == ^user_id
)
但这不起作用,给了我一个语法错误:
** (SyntaxE
这里没有长生不老药。试图通过官方文档了解基本知识,我偶然发现了一段代码,我不太理解,也找不到明确搜索的方法
iex> "he" <> rest = "hello"
"hello"
iex> rest
"llo"
iex>“他”rest=“你好”
“你好”
iex>休息
“llo”
资料来源:
我不明白的是操作符的组合是如何工作的,以及rest在模式匹配“he”后是如何分配剩余字符串的。我试图通过如下插入括号来理解使用优先级:
案例1——显然不同
iex(1)>
我正在使用创建单元测试的夹具
我正在使用ExMachinainsert(:comment)将一些记录保存到数据库中,但我的断言是错误的,因为ExMachina总是加载关系,而当我使用EXTO进行抓取时,并没有调用Repo.preload
假设我有两个工厂comment和user:
def user_factory do
%User{
name: "some name"
}
end
def comment_factory do
%Comment{
content: "
标签: Elixir
phoenix-frameworkecto
因此,目前我的表有一个date,还有一个日期索引,我想删除日期索引,添加start\u date和end\u date,并首先将开始和结束日期设置为与date相同的日期,然后添加开始和结束日期索引。这一切能在一次迁移中完成吗?那看起来怎么样
def up do
alter table(:table) do
add :start_date, :date
add :end_date, :date
end
execute "update table set start_d
标签: Elixir
phoenix-frameworkecto
我在Phoenix应用程序的一个模式中使用了一个EXTO自定义类型,如特别描述的,利用Postgres范围指定一个of,如12:00-4:00之间。我能够毫无问题地从数据库中插入/检索表单,但是我很难想出一个好方法来使用变更集和Phoenix表单为用户呈现表单
因此,对于架构,此时间范围看起来是自定义类型:
@primary_key false
@foreign_key_type :binary_id
schema "person_messaging_settings" do
我有一个像贝娄一样的路由器示波器
scope "/", PetSaasWeb do
pipe_through :browser
get "/", PageController, :index
get "/home", PageController, :index
get "/interface", PageController, :interface
get "/profile", PageController, :profile
get "/logout"
标签: Elixir
phoenix-frameworkex-unit
我使用Phoenix+ExUnit进行测试
我有一些ExUnit.Case文件,比如DataCase,Connccase。。。要为我的模型、控制器定义测试帮助器…,但如果我需要定义一个全局帮助器,它可以从我的所有测试中访问,我应该在哪里定义它?如果这只是一个帮助器的问题,请将它放在您的test/test\u helper.exs中
但随着项目的发展,管理变得越来越困难。常用方法是创建测试/支持文件夹,并按以下方式修改mix.exs:
创建一个私有函数,如下所示:
defp elixirc_路径:
Map.new([A,B],fn n->{n,count('ABB',n)}end)
(count本质上是Enum.count/2)返回错误:
(Protocol.UndefinedError)未为类型映射的%{65=>0,66=>2}实现协议字符串.Chars。
如何将关键帧转换为此表示:
%{?A => 1, ?B => 2}
%{A=>1,B=>2}
将中的代码点66转换为aB
看这里
%{65=>0,66=>2}[…]
如何将键转换为此表示:
%{A=>1,?B=>2}
我试图使用此函数传递到Repo.all()
我不理解这个错误。我在另一个项目中有相同类型的代码,没有问题。这是版本之间的一个EXTO语法问题吗?我觉得这很简单。我缺少什么?在您编写的代码中,中的第二个参数是这一部分:其中u.template\u id==^t\u id。ArgumentError试图告诉您将其转换为关键字列表。您可以像[{:where,u.template==^t\u id}]那样详细地编写它,但大多数人会这样编写:
defmodule Arcade.TemplateMedia
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 125 页