问题标签 [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.
elixir - Phoenix 框架回调
Phoenix 框架是否使用任何类型的回调过滤器,例如Rails中的那些?我知道可以验证变更集,但我正在寻找实现诸如before_create
、 before_save
和after_commit
.
elixir - 路由到 phoenix-framework 中的静态页面
我想为我的网站运行一个带有 phoenix 后端的 angularJS 前端。我希望我的根路由将用户引导到包含我的角度客户端的静态目录中的预构建页面,然后使用 phoenix 运行 API。我过去通过这样的路线匹配使用 ruby on rails 做到了这一点:
有没有办法用凤凰做类似的事情?
postgresql - 设置 Phoenix 框架和 Ecto 以使用 UUID:如何插入生成的值?
几天前,我开始在 Postgres 数据库中使用 Elixir 和 Phoenix Framework (v 0.12.0)。我正在尝试创建一个具有 UUID 主键的表,我更喜欢顺序默认值。
在使用mix phoenix.gen.html
生成模型和迁移文件并按照 Phoenix 文档中的其他步骤进行操作后,我已更改
在web.ex
到
如 Ecto 文档中所述。我也将迁移更改为
不幸的是,当我尝试从自动生成的表单向表中添加一个条目时,我收到一个错误,因为它id
为空。如果我手动将 - 列添加id
到模型中,我会收到该列已存在的错误。如果我忽略在该列中设置primary_key
为 falsetable/2
并删除该id
列,则该表将使用顺序id
列生成。
我需要id
在变更集中手动设置,还是在设置我的应用程序以使用 UUID 时出错?提前致谢
elixir - 将操作推送到消息队列以进行处理
我的标题不是很好,因为我发现很难用一个小片段来解释我想要什么......所以我会深入尝试!
我正在使用 Phoenix Web 框架编写一个 Elixir 应用程序。
我想做的是:
- 调用 phoenix 处理并传递给控制器的 web 路由
- 控制器启动要移交给消息队列的进程
- 当资源可用时,队列中要处理的最新项目(即 CPU/内存/等)
该进程不需要返回到 web 路由(即它的 Async)
我知道如何使用消息队列(Beanstalk、RabbitMQ、sidekiq)在其他语言中处理这个问题,并有一些东西将“工作”交给工作人员,然后编写一个工作人员来处理队列上的工作。
但是....我知道在 Elixir 中默认情况下它有队列,因为所有内容都被推入“邮箱”(在 youtube 视频中看到它:p)
但是我找不到任何像样的代码示例来展示如何让控制器(在凤凰城中)产生一个异步进程,该进程将从消息队列中处理。
有谁知道任何体面的资源可以显示我正在寻找的东西,或者有没有人有任何代码片段可以让我对如何做到这一点进行基本描述。
谢谢 :)
编辑:
正如评论中提到的,我创建了一个基本教程,介绍如何在 Elixir 应用程序中启动和运行 Poolboy。我希望它对人们有帮助(并且是正确的!):)
elixir - 如何启动 phoenix.server 作为守护进程
以下命令在生产模式下运行 phoenix.server,并作为部署 phoenix 的命令给出。
但是,上述命令以交互方式运行服务器并关闭终端,使 phoenix.server 停止运行。如何让 phoenix.server 在后台运行?
elixir - (RuntimeError) 预期连接有响应
我是 Phoenix Framework 的新用户,我正在尝试设置一个简单的 HTTP POST 服务,该服务对传入数据执行计算并返回结果,但出现以下错误:
我的测试用例:
我的路由器定义:
我的控制器:
我错过了什么?
windows - phoenix 框架 - 新 Socket 的参数无效 - windows
我无法运行新的 phoenix 应用程序。这是我得到的错误;我不确定可能是什么原因。
我尝试更改端口,但这并没有改变行为。此外,似乎我能够正确运行节点。
phoenix-framework - Ecto where like 查询的行为类似于 where ==
我正在尝试让类似 ecto 的查询像这样工作:
在我的表中,我有一个 company_name “Asymptote”。使用 where:like/2 我的查询如下所示:
当 pg_trm 搜索未注释时,它看起来像这样:
据我所知,查询看起来不错,但没有结果。由于我在将“渐近线”添加到数据库后添加了索引,我希望这就是为什么在 pg_trm 索引中找不到它的原因,但为什么 like/2 或 ilike/2 不起作用?当输入全名“Asymptote”时,我能够找到记录。
elixir - 在 Ecto 中按日期时间查询
这是我尝试过的。
我也试过
两者都返回相同的消息
据我了解,我应该在查询中使用 Ecto.DateTime。也许我错过了一些明显的东西?谢谢!
elixir - 为什么 Phoenix 不使用 Plug 启动服务器?
irc 上的 liveforeverx 已经回答了我原来的问题,我已经修改了这个问题作为后续问题。
Phoenix 的许多功能都依赖于 Plug。但是,在启动牛仔服务器的时候,凤凰为什么不使用Plug在Phoenix.Endpoint.CowboyHandler.start_link中的api来启动呢?为什么要调用 ranch_listener_sup 上的 start_link 呢?
是因为 Plug 的任何限制,还是因为 Phoenix 在 Plug 的 api 成熟之前就开始了这种方式?
我原来的问题:
凤凰如何/从哪里开始牛仔?
阅读 Plug docs,我看到要启动服务器,必须调用
但是,通过我的 phoenix 应用程序和 phoenix 源代码,我没有看到任何调用Plug.Adapters.Cowboy.http/3
. 凤凰如何/从哪里开始牛仔?