小编Pau*_*iro的帖子

如何永远生产凤凰

我正在尝试永远运行我的Phoenix应用程序,即独立于我的终端进程.我在Phoenix指南和Stackoverflow中看到了我可以使用的问题elixir --detached,但是我无法正确使用这些命令.事实上,我曾经能够像这样开始它,但我尝试了很多命令,我甚至不知道哪一个命令(也因为没有消息要说清楚).因此,使用最新版本的Phoenix(1.1)和Elixir(1.1.1),有哪些命令:1)永远启动服务器(作为守护进程); 2)停止服务器而无需重启服务器?

elixir phoenix-framework

6
推荐指数
1
解决办法
2557
查看次数

如何在“web/templates/folder/subfolder”中渲染模板

从我的布局(app.html.eex文件)中,我想渲染位于我的模板文件夹(示例结构)中的子文件夹(第二级文件夹)内的模板:

/templates/layout
/templates/layout_module/header_footer/fad.html.eex
Run Code Online (Sandbox Code Playgroud)

我有所有第一级文件夹 ( layout, layout_module,...) 的视图。我正在使用:

<%= render FabricaASA.Layout_moduleView, "/header_footer/fad.html" %>
Run Code Online (Sandbox Code Playgroud)

我尝试了一些替代方案但没有成功。最好的方法是什么?

phoenix-framework

6
推荐指数
1
解决办法
898
查看次数

如何使用Ecto/Phoenix从数据库中选择最新条目

我只是用数据库和查询(从前端推出)开始,我想选择包含特定领域的最新条目title,说Page1.我知道我有两个可以帮助我的领域:1)created_at- 我可以订购它只选择最新的; 2)id- 我知道每个条目都会生成一个新条目,id所以我可以获得最大的条目id; 我想将它应用于"标准"编辑控制器操作:

 def edit(conn, %{"id" => id}) do
    user = Repo.get(User, id)
    changeset = User.update_changeset(user)
    render(conn, "edit.html", user: user, changeset: changeset)
  end
Run Code Online (Sandbox Code Playgroud)

所以我想知道哪种方法更好,并查看查询示例.

postgresql ecto phoenix-framework

4
推荐指数
2
解决办法
2451
查看次数

Elixir/Phoenix EEx共享模板中的可选值

我正在尝试在Phoenix EEx共享模板中传递值(我重用的模板).到目前为止,这么好,但现在我想使其中一些是强制性的,而另一些是可选的.例如:

<a href="<=% @url %>" class="core Item <%= className %>">
Run Code Online (Sandbox Code Playgroud)
  • url 应该是强制性的 - 这是默认的(OK);
  • className应该是可选的 - 我不能成功,因为如果我在调用模板时没有包含它(<%= render MyProject.SharedView, "myTemplate.html", url:"logo2.png" %>)则会出错.我怎样才能做到这一点?

elixir phoenix-framework

4
推荐指数
1
解决办法
1056
查看次数

在生产中部署Phoenix应用程序时出错

我试图在VPS中以生产模式启动Phoenix应用程序(在开发模式下可以),因此,在编译我的应用程序资产后,我运行:

PORT=4001 MIX_ENV=prod mix phoenix.server
Run Code Online (Sandbox Code Playgroud)

我得到:

** (Mix) Could not start application myapp: could not find application file: myapp.app
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

elixir phoenix-framework

4
推荐指数
1
解决办法
794
查看次数

Phoenix模板列表中的错误

我正在尝试从<%= @evento %>模板中的列表()中提取值,但出现此错误:

lists in Phoenix.HTML and templates may only contain integers representing bytes, binaries or other lists, got invalid entry: %Skeleton.News.Evento{__meta__: #Ecto.Schema.Metadata<:loaded, "news_eventos">, date: "DEZ 2011", id: 69, imgPaths: ["images/fabasa/eventos/one/1.jpg", "images/fabasa/eventos/one/2.jpg", "images/fabasa/eventos/one/3.jpg", "images/fabasa/eventos/one/10.jpg"], inserted_at: ~N[2017-06-30 12:38:15.452214],...  
Run Code Online (Sandbox Code Playgroud)

因此,我的问题是如何将其转换为仍可在模板中迭代的数据类型结构?

phoenix-framework

4
推荐指数
1
解决办法
774
查看次数

Phoenix:根据路线显示/隐藏Html元素

如果我们不在主页上,我想显示菜单图标.我知道我需要使用这样的东西:

<div class="header">
   <%= if page_path(@conn) === "/" do %>
     #  Do nothing
   <% else %>
     <%= render Myproject.SharedView, "menuButton.html" %>
   <% end %>
</div>
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为page_path (@conn)它应该根据控制器动作给我们路由:page_path (@conn, :index)而不是浏览器请求的路由.所以我的问题是:做最简单的函数是什么?

elixir phoenix-framework

3
推荐指数
1
解决办法
416
查看次数

如何在<%= for%>视图助手中增加ID

我的代码中有这个:

<%= for empresa <- @empresas do %>
    <%= render myProject.ComponentView, "smallPlacard.html",
        smallPlacard_id: "1",
        smallPlacard_class: "Company",
        smallPlacard_mainText: company.name
    %>
 <% end %>
Run Code Online (Sandbox Code Playgroud)

我希望smallPlacard_id每个渲染元素都会自动递增.在凤凰城/功能方式中做到这一点的最佳方式是什么?

elixir phoenix-framework

3
推荐指数
1
解决办法
91
查看次数

为什么Elixir需要`Flow`?这不是由BEAM默认处理的吗?

在看到JoséValim关于Flow & GenStage我的最后一次主题演讲之后我感到困惑,因为:
1)如果将流和GenStage添加到Elixir中是因为改善并发真的很有意义;
2)另一方面,我认为Erlang/BEAM的关键优势之一是默认情况下并发/使用所有内核,开发人员不应该担心这一点.
那么,如果Flow & GenStage还没有(还)帮助运行在不同机器上的分布式系统,有人可以解释Flow和本机Erlang/BEAM并发之间的差异吗?

erlang elixir

3
推荐指数
1
解决办法
442
查看次数

凤凰城:在视图中使用"conn"和"case"

我有一些客户端静态jQuery代码,我想用我的网站的每个页面上使用的服务器动态代码替换,并取决于我所在的页面(被询问的路由).我现有的jQuery代码(在模板html.eex文件中)是:

    if (SOME CONDITION) {
        $(".page1.firstChild").css({"margin-top": "70px"});
        $(".page2.firstChild").css({"margin-top": "70px"});
        $(".page3.firstChild").css({"margin-top": "70px"});
        $(".page4.firstChild").css({"margin-top": "70px"});
    } else {
            $(".page1.firstChild").css({"margin-top": "0px"});
            $(".page2.firstChild").css({"margin-top": "0px"});
            $(".page3.firstChild").css({"margin-top": "0px"});
            $(".page4.firstChild").css({"margin-top": "0px"});
    }
Run Code Online (Sandbox Code Playgroud)

所以,我想用一个放在模板中的变量替换" .page1"," .page2",......" .pageN" <% currentPage %>并在我的layout_view中定义,以便可以在与该布局相关的每个页面上访问它.所以我尝试了这个:

defmodule myApp.LayoutView do
  use myApp.Web, :view

    def currentPage do
        case @conn.request_path do
            "/page1" -> "page1"
            "/page2" -> "page2"
            "/page3" -> "page3"
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

undefined function: nil.request_path/0
Run Code Online (Sandbox Code Playgroud)

这样做的最佳方式是什么?(我也不确定"案例"代码).

elixir phoenix-framework

2
推荐指数
1
解决办法
1272
查看次数

标签 统计

phoenix-framework ×9

elixir ×7

ecto ×1

erlang ×1

postgresql ×1