问题标签 [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 - 多态关联如何与 Ecto 一起工作?
当我阅读https://github.com/elixir-lang/ecto/issues/389及其相关问题时,Ecto 似乎支持多态关联。
假设我需要一个关于任务和事件模型的评论模型关联。如果我对 Ecto 与自定义源关联的理解是正确的,那么我们需要四个表和三个模型,
表
- 任务
- 事件
- 任务评论
- events_comments
模型
- 任务
- 事件
- 评论
任务和事件模型将具有与自定义源的 has_many 关联,如下所示。
现在我不明白的是 Comment 模型应该是什么样子?
Comment 模型如何处理两个表?以及它如何处理与不同模型的 belongs_to 关联?
elixir - 如何做 Elixir 混合
我正在尝试为身份验证登录创建一个 mixins,因此它可以应用于我应该能够登录的模型。很像 Ruby 中的 has_secure_password。
Afaik 这是使用use
必需模块的语句完成的,并调用__using__
宏。所以我像这样实现了我的mixin。
然后我在我的“用户”模型中调用使用。
在我的控制器中,我正在尝试使用该方法。
但是当我点击代码时,我只是在调用验证函数的那一行得到一个参数错误。
我的宏观技能比较弱,我做错了什么?:)
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"]
,但这些都不起作用。替换default
为value
没有任何区别。我犯了什么错误?
提前致谢
elixir - Phoenix:从 IEx 控制台广播
我已经建立了一个像这里这样的小型聊天应用程序: https ://github.com/chrismccord/phoenix_chat_example/blob/master/web/channels/room_channel.ex
并且无法弄清楚如何在一个主题中向所有用户广播一条消息。在上面的应用程序中(没有像我使用的那样更新到 v0.13),我该怎么做?以下是我没有运气的尝试:
它们都不起作用......其中一些抛出异常:(
elixir - 在 Phoenix 应用程序中为异常设置自定义响应
我正在用 ecto 编写凤凰应用程序,并在测试中有以下代码段
这会引发 Ecto.NoResultsError
我有这个定义
但测试仍然抛出 Ecto.NoResultsError,任何指针?
cowboy - 使用不同端口上的牛仔服务器启动 Phoenix 应用程序
是否可以使用某些命令从控制台在不同端口上本地启动几个 Phoenix 应用程序mix phoenix.server --port=4001
?当然,这不起作用,但是,也许有类似的方法。
elixir - 我应该使用哪种 OTP 行为来“无休止地”重复任务?
我想在 Phoenix 应用程序旁边一遍又一遍地重复运行相同的操作序列(当然,如果工作人员出现问题,则不会使整个 Web 应用程序崩溃)并且真的不知道我是否应该使用 GenServer,Elixir 的任务、代理或完全不同的东西,我到目前为止还没有考虑过。
当我启动我的 Phoenix 应用程序时,工作人员也应该启动,它会定期提取串行连接的一些值,通过 Phoenix 通道广播它们,收集它们直到@save_interval
达到,然后计算中值,通过不同的通道广播该中值和将其写入 InfluxDB。现在我有这样的东西(有点工作):
我才刚刚开始弄清楚所有 OTP 的东西,希望你们中的某个人能帮助我在这里找到正确的方向。
elixir - Phoenix/Ecto 中的混合范围和关联
在 Rails 中,如果我有以下设置:
然后我可以做这样的事情:
快速获得给定的所有已批准评论Post
。
我怎样才能在 Ecto 中做类似的事情?
我已经post
预装comments
了:
我什至不确定approved
从MyApp.Comment
.
elixir - Phoenix - 具有多个渲染的控制器
尝试使用 Elixir + Phoenix 创建一个应用程序,该应用程序将能够处理“浏览器”和“api”请求以处理其资源。
是否可以在不必做类似的事情的情况下做到这一点:
这意味着必须创建两个控制器,它们可能具有相同的行为,除了它将使用浏览器管道渲染 HTML,例如 JSON,用于api管道。
我在想也许像 Railsrespond_to do |format| ...
elixir - “无法开始测试交易,因为我们已经在其中”
我按照本教程进行操作,我的简单测试总是因此错误而失败
代码很简单
我用谷歌搜索了整个错误cannot begin test transaction because we are already inside one
。但是找不到任何修复方法。
PS。我正在使用 Postgresql