问题标签 [phoenix-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2240 浏览

json - 从 elixir ecto 关联创建 json

我想从 phoenix 中的 ecto 关联生成 JSON。

这是我的协会:

和:

当我在没有关联的情况下生成 json 时,结果是这样的:

json看起来像这样

但与协会的结果是这样的

使用上述输出,我无法创建正确的 json 输出。我希望 json 看起来像这样

任何帮助,将不胜感激。

0 投票
1 回答
1041 浏览

elixir - Phoenix Web 框架中的 KeyError

尝试向客户端提供页面时,客户端出现以下错误:

(KeyError) key :id not found in: %Phtest.Jobs{"@class": "Job", "@rid": "#13:0", "@type": "d", "@version": 1、描述:“öoisajdf sadöflkjasdfö lkj”,job_status:“Open”,job_type:“Developer”,title:“Foo”} Stacktrace

它之前工作过,但现在我已经修改了我的模型,有些切换job.idjob."@rid". 我的模板如下所示:

0 投票
3 回答
4043 浏览

elixir - 如何将表单中的大文件上传到 Phoenix?

我有一个带有文件字段的 HTML 表单,用于将文件上传到/file我的 Phoenix 应用程序中的路由。

我从命令行模仿这种行为以curl -v -F "file=@MyTestFile" http://localhost:4000/file/进行更快的测试。

当我使用一个大文件(转折点似乎在 7.7MB 左右)时,我从 Plug 中得到以下异常:

18:40:38.897 [错误] 进程 <0.420.0> 出错,退出值:{[{reason,#{' exception '=>true,' struct '=>'Elixir.Plug.Parsers.RequestTooLargeError',message =>nil}},{mfa,{'Elixir.Plug.Adapters.Cowboy.Handler',init,3}},{stacktrace,[{'Elixir.Plug.Parsers',reduce,6,[{file,”库/插件...

是否有允许上传更大文件的解决方法?

Plug 中似乎有一个:lengthoption 关键字,但我如何从 Phoenix 设置它?选择这个特定值的原因是8_000_000什么?

0 投票
2 回答
761 浏览

elixir - 无法在 Windows 上生成 Phoenix 应用程序

我在 Windows8 上使用 Elixir 的 Phoenix 框架时遇到了严重的问题。在解决了大多数特定于平台的错误之后,一个错误告诉我找不到 rebar 并且没有编译牧场。我什至已经将钢筋放在我的环境路径中,但它仍然在抱怨。总而言之,编译ranch应该怎么做,下面有个报错的例子。

0 投票
1 回答
420 浏览

elixir - 在 Elixir 中部署时更改后端/模块?

如何实现一个可替换的后端(或基本上任何部分或模块),以便可以在 Elixir 的配置/部署时替换它?

我的具体情况是一个简单的网络应用程序(在这种情况下使用 Phoenix,但我猜这个问题也适用于其他情况)我有一个非常简单的后端Agent用于保持状态,但我认为未来需要能够或多或少地动态切换后端。

我猜 Ecto 和 Logger 都在某种程度上做到了这一点,但对于 Elixir 的新手来说,很难知道去哪里找。

0 投票
1 回答
845 浏览

elixir - 我可以在函数参数内的 Conn 中模式匹配会话值吗?

我有一个:identifiedas用户可能存在或不存在的会话密钥。我想要这样,如果您在此密钥存在时进入登录页面,服务器会将您重定向到主页。

我可以使用 anif来解决这个问题,但如果可能的话,与在另一个函数子句中使用模式相比,这似乎是个坏主意。

最好我希望它是:

0 投票
3 回答
1726 浏览

elixir - Phoenix 无法启动 - 缺少 AppName.Endpoint.start_link

Pheonix 变化如此频繁,以至于我不确定我所做的是否正确。

我正在尝试遵循一些教程,并且在您完成编译后,它们都具有“mix phoenix.start”命令,并且应该启动服务器。(在 Github 的问题页面上有一些讨论,他们将用 mix phoenix.server 命令替换它,您必须手动执行某些操作,而不是真正遵循它。无论如何,这是在开发版本 v0.8.0- dev. 我正在使用最新的稳定版本 0.7.2)

我在尝试发出“mix phoenix.start”命令尝试启动服务器时遇到错误
(应用程序名称:PhoenixCrud):

文档有更新的 phoenix.server 命令,但我也尝试过,并且该组合表示找不到任务。

无论如何,app_name /lib/ app_name /endpoint.ex 似乎缺少 start_link 函数。我应该提供那个吗?我现在不知道该放什么,因为我只是在试用 Phoenix Web 框架并且对它一无所知(因此有教程。)

那么,我是否应该提供 start_link 功能,如果是这样,可以给我一些暂时存根以尝试遵循一些教程。否则是bug吗?

0 投票
1 回答
470 浏览

websocket - Phoenix 框架通道 - (ErlangError) erlang 错误:[原因::function_clause,mfa:{Phoenix.Endpoint.CowboyHandler

我正在尝试 Phoenix 并想制作一个简单的 websocket 聊天应用程序,但我遇到了这个错误:

我正在做的是创建一个可以成功加入的频道,但是在尝试发送事件时出现错误:(ErlangError) erlang error: [reason: :function_clause, mfa: {Phoenix.Endpoint.CowboyHandler ...

我的代码有一个要点和完整的错误:https ://gist.github.com/jurre/28796f8c4ad9e4122f18

我正在使用 Elixir 1.0.2 和 Phoenix 框架 v0.7.2。我对长生不老药和凤凰都很陌生,这可能很明显。

0 投票
2 回答
999 浏览

elixir - Query Repo Using a String

I am using Phoenix with Ecto to query a database for a single record by the primary key. All of the documentation/examples show the usage as in a Phoenix Controller:

However, all params in Phoenix are strings, so this throws a ** (Ecto.InvalidModel) model App.MyModel failed validation when , field id had type string but type integer was expected. I have been working around this in my controllers by doing something like:

The problem is I haven't seen anyone else doing this sort of type conversion. I'm worried I don't have Phoenix or Ecto set up correctly. Is there a Phoenix/Ecto convention I am missing that would automatically coerce my id argument for Repo.get/2 to an int?

0 投票
1 回答
3739 浏览

elixir - 修复协议 Ecto.Queryable 未实现错误

我是使用 Ecto 和 Elixir 的新手,遇到了一个我无法解释的错误。我的代码看起来就像 Ecto README 中的示例。

这是我的 Ecto 模型和查询模块

这是我如何调用查询函数

这一切似乎与 Ecto 文档完全一致,我找不到任何其他说法。但我收到以下错误。