所以,假设我想发送一堆电子邮件或重新创建站点地图或者每4小时一次,我将如何在凤凰城或只是使用Elixir?
我正在学习Phoenix和Elixir,我来自Ruby/Rails,我在REPL中工作,pry用来检查我的数据库和应用程序状态.
我正试图弄清楚如何在Phoenix应用程序中与我的数据库和模型进行交互.我知道iex,但我不知道如何使用它从repl检查我的应用程序的数据库.我是否需要每次从repl使用ecto连接到它?有没有rails console等价物.我检查了Phoenix文件,Elixir Dose和Ecto repo,但找不到我要找的东西.我错过了什么吗?
编辑:根据下面的答案,我发现了ecto文档的这一部分.基于此我可以做类似的事情ArticlesApi.Repo.all ArticlesApi.Article
我正在阅读编程凤凰书,我想知道def和之间的区别是什么defp.
我的控制器中有几个功能 - 大多数都是这样的动作:
def new (conn, _params) do
...
end
Run Code Online (Sandbox Code Playgroud)
这本书让我在这个控制器中创建另一个函数,这不是典型的控制器动作,如下所示:
defp user_videos(user) do
...
end
Run Code Online (Sandbox Code Playgroud)
所以我的问题是如何在Phoenix Framework中的控制器内定义函数defp时知道何时使用以及何时使用def.
我正在尝试在服务器运行时从我的Phoenix应用程序中的一个控制器上打印一些调试信息.
defmodule PhoenixApp.TopicController do
use PhoenixApp.Web, :controller
def index(conn, _params) do
log("this text")
# ...
end
end
Run Code Online (Sandbox Code Playgroud) 在Phoenix路由器中是否有可以充当通配符的路由?
我想在my/config/config.exs文件中设置我的应用程序的标题:
config :my, My.Endpoint,
url: [host: "localhost"],
root: Path.dirname(__DIR__),
secret_key_base: "secret",
title: "My App"
Run Code Online (Sandbox Code Playgroud)
我怎样才能读到title以后在模板中使用它?就像是:
<div>
Title of my app is <%= ??? %>
</div>
Run Code Online (Sandbox Code Playgroud)
我试过conn.title,它说没有这样的钥匙.但是,当我尝试conn.secret_key_base它的时候.为什么?
我想使用Postgres使用Ecto存储一个浮点值数组.我正在使用Ecto与Phoenix Framework和Elixir.
我如何为此定义模型和迁移?
我没有尝试太多,除了搜索网络,没有找到任何有用的东西:-(
我尝试使用如下模式定义模型:
schema "my_model" do
field :my_array, :array
timestamps
end
Run Code Online (Sandbox Code Playgroud)
出现错误"无效或未知类型:字段数组:my_array"
我正在尝试使用elixir和phoenix构建一个流浪服务器,但是在安装了所有需求和依赖项之后,并且在运行时mix phoenix.server我收到以下错误:
错误:编译'web/static/js/app.js'失败.无法找到相对于目录"web/static/js"的预设"es2015";
我不确定这里的'预设'的背景,我希望一个更有经验的凤凰用户会知道它的内容.
一些粗略的谷歌给了我什么,除了它可能与巴贝尔有关.
编辑:我只是尝试安装我认为是缺少的包sudo npm install babel-preset-es2015 -g,但它没有解决错误.
我需要能够生成随机url安全字符串,以便我可以在链接中使用它们(比如发送到用户电子邮件的激活链接),那么我该如何生成呢?有没有办法只使用Elixir或我必须使用一些库?
我在理解changeset模型时遇到问题.它能做什么?我们可以在一个模型中拥有多个变更集吗?例如一个用于创建,另一个用于更新.
有人可以用简单的方式详细说明,这样可以帮助其他人来凤凰城.