问题标签 [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 回答
4171 浏览

elixir - 多态关联如何与 Ecto 一起工作?

当我阅读https://github.com/elixir-lang/ecto/issues/389及其相关问题时,Ecto 似乎支持多态关联。

假设我需要一个关于任务和事件模型的评论模型关联。如果我对 Ecto 与自定义源关联的理解是正确的,那么我们需要四个表和三个模型,

  • 任务
  • 事件
  • 任务评论
  • events_comments

模型

  • 任务
  • 事件
  • 评论

任务和事件模型将具有与自定义源的 has_many 关联,如下所示。

现在我不明白的是 Comment 模型应该是什么样子?

Comment 模型如何处理两个表?以及它如何处理与不同模型的 belongs_to 关联?

0 投票
1 回答
585 浏览

elixir - 如何做 Elixir 混合

我正在尝试为身份验证登录创建一个 mixins,因此它可以应用于我应该能够登录的模型。很像 Ruby 中的 has_secure_password。

Afaik 这是使用use必需模块的语句完成的,并调用__using__宏。所以我像这样实现了我的mixin。

然后我在我的“用户”模型中调用使用。

在我的控制器中,我正在尝试使用该方法。

但是当我点击代码时,我只是在调用验证函数的那一行得到一个参数错误。

我的宏观技能比较弱,我做错了什么?:)

0 投票
2 回答
2167 浏览

elixir - 将phoenix框架中日期选择器的默认值设置为当前日期

在我正在开发的应用程序中,我有一个日期选择器,它主要用于当前日期作为值(或几天后的日期)。为了减少用户的工作,我想将今天的日期设置为默认值。

我可以很容易地设置年份: date_select f, :date, class="form_control", year: [options: @current_year, @current_year+1],但没有设法为月份和日期做类似的事情。

我尝试将代码更改为date_select f, :date, class="form_control", year: [options: @current_year, @current_year+1], month: [default: 2], date_select f, :date, class="form_control", year: [options: @current_year, @current_year+1], month: [default: "2"], date_select f, :date, class="form_control", year: [options: @current_year, @current_year+1], month: [default: "02"],但这些都不起作用。替换defaultvalue没有任何区别。我犯了什么错误?

提前致谢

0 投票
1 回答
781 浏览

elixir - Phoenix:从 IEx 控制台广播

我已经建立了一个像这里这样的小型聊天应用程序: https ://github.com/chrismccord/phoenix_chat_example/blob/master/web/channels/room_channel.ex

并且无法弄清楚如何在一个主题中向所有用户广播一条消息。在上面的应用程序中(没有像我使用的那样更新到 v0.13),我该怎么做?以下是我没有运气的尝试:

它们都不起作用......其中一些抛出异常:(

0 投票
2 回答
2212 浏览

elixir - 在 Phoenix 应用程序中为异常设置自定义响应

我正在用 ecto 编写凤凰应用程序,并在测试中有以下代码段

这会引发 Ecto.NoResultsError

我有这个定义

但测试仍然抛出 Ecto.NoResultsError,任何指针?

0 投票
3 回答
9818 浏览

cowboy - 使用不同端口上的牛仔服务器启动 Phoenix 应用程序

是否可以使用某些命令从控制台在不同端口上本地启动几个 Phoenix 应用程序mix phoenix.server --port=4001?当然,这不起作用,但是,也许有类似的方法。

0 投票
1 回答
1932 浏览

elixir - 我应该使用哪种 OTP 行为来“无休止地”重复任务?

我想在 Phoenix 应用程序旁边一遍又一遍地重复运行相同的操作序列(当然,如果工作人员出现问题,则不会使整个 Web 应用程序崩溃)并且真的不知道我是否应该使用 GenServer,Elixir 的任务、代理或完全不同的东西,我到目前为止还没有考虑过。

当我启动我的 Phoenix 应用程序时,工作人员也应该启动,它会定期提取串行连接的一些值,通过 Phoenix 通道广播它们,收集它们直到@save_interval达到,然后计算中值,通过不同的通道广播该中值和将其写入 InfluxDB。现在我有这样的东西(有点工作):

我才刚刚开始弄清楚所有 OTP 的东西,希望你们中的某个人能帮助我在这里找到正确的方向。

0 投票
3 回答
3315 浏览

elixir - Phoenix/Ecto 中的混合范围和关联

在 Rails 中,如果我有以下设置:

然后我可以做这样的事情:

快速获得给定的所有已批准评论Post

我怎样才能在 Ecto 中做类似的事情?

我已经post预装comments了:

我什至不确定approvedMyApp.Comment.

0 投票
2 回答
6919 浏览

elixir - Phoenix - 具有多个渲染的控制器

尝试使用 Elixir + Phoenix 创建一个应用程序,该应用程序将能够处理“浏览器”和“api”请求以处理其资源。

是否可以在不必做类似的事情的情况下做到这一点:

这意味着必须创建两个控制器,它们可能具有相同的行为,除了它将使用浏览器管道渲染 HTML,例如 JSON,用于api管道。

我在想也许像 Railsrespond_to do |format| ...

0 投票
1 回答
786 浏览

elixir - “无法开始测试交易,因为我们已经在其中”

我按照本教程进行操作,我的简单测试总是因此错误而失败

代码很简单

我用谷歌搜索了整个错误cannot begin test transaction because we are already inside one。但是找不到任何修复方法。

PS。我正在使用 Postgresql