Elixir Web Framework针对具有实时功能的全功能,容错应用程序
我正在编写一个渲染实时视图的 exs 文件。是否可以使用如下所示的脚本标签从外部 javascript 文件读取 javascript?我收到这个错误。 <p>我正在编写一个渲染实时视图的 exs 文件。是否可以使用如下所示的脚本标签从外部 javascript 文件读取 javascript?我收到此错误。</p> <pre><code><script type="text/javascript" src="/assets/app.js"></script> Error: 17:30:10.499 [error] #PID<0.385.0> running Example.Endpoint (connection #PID<0.383.0>, stream id 2) terminated Server: localhost:5001 (http) Request: GET /assets/app.js ** (exit) an exception was raised: ** (ArgumentError) unknown application: :sample (elixir 1.15.5) lib/application.ex:1010: Application.app_dir/1 (plug 1.15.0) lib/plug/static.ex:420: Plug.Static.path/2 (plug 1.15.0) lib/plug/static.ex:191: Plug.Static.call/2 live.exs:108: Example.Endpoint.plug_builder_call/2 live.exs:108: Example.Endpoint.call/2 (plug_cowboy 2.6.1) lib/plug/cowboy/handler.ex:11: Plug.Cowboy.Handler.init/2 </code></pre> <p>这是我的路由器和端点设置。</p> <pre><code>Application.put_env(:sample, Example.Endpoint, http: [ip: {127, 0, 0, 1}, port: 5001], server: true, live_view: [signing_salt: "aaaaaaaa"], secret_key_base: String.duplicate("a", 64) ) defmodule Example.Router do use Phoenix.Router import Phoenix.LiveView.Router pipeline :browser do plug(:accepts, ["html"]) end scope "/", Example do pipe_through(:browser) live("/", HomeLive, :index) end end defmodule Example.Endpoint do use Phoenix.Endpoint, otp_app: :sample socket("/live", Phoenix.LiveView.Socket) plug Plug.Static, at: "/", from: :sample, gzip: false, only: ~w(assets js fonts images uploads favicon.ico robots.txt) plug(Example.Router) end </code></pre> </question> <answer tick="false" vote="0"> <p><a href="https://hexdocs.pm/plug/Plug.Static.html" rel="nofollow noreferrer">Plug.Static</a> 文档描述了如何引用静态文件,特别是 <pre><code>:from</code></pre> 选项。从文档中,该值可以是:</p> <ul> <li>a <strong>string</strong> 包含文件系统路径</li> <li>an <strong>atom</strong> 代表应用程序名称(其中资产将从 <pre><code>priv/static</code></pre> 提供服务)</li> <li>a <strong>tuple</strong> 包含应用程序名称和从中提供资产的目录(<pre><code>priv/static</code></pre> 除外),或 MFA 元组。</li> </ul> <p>因为您提供了一个原子 (<pre><code>:sample</code></pre>),所以宏/函数的解析会导致它查找该名称的应用程序,以便解析其 <pre><code>priv/static</code></pre> 目录的路径。</p> <p>相反,您应该用双引号将该值引起来,使其成为表示路径的字符串:<pre><code>"sample/path"</code></pre>。我猜测该值代表一个目录,但您必须尝试一下才能确定。</p> </answer> </body></html>
如何在不使用表单的情况下使用参数调用handle_event?
如何在不使用表单的情况下调用handle_event希望特定的参数? 我希望在发生 row_click 时在模式中显示表行详细信息。我能够触发处理事件,但参数是
Phoenix/Elixir:如何在不使用表单的情况下使用参数调用handle_event?
如何在不使用表单的情况下调用handle_event希望特定的参数? 我希望在发生 row_click 时在模式中显示表行详细信息。我能够触发处理事件,但参数是
我想将动态类名与静态类名连接起来。 这导致 而不是... 我想将动态类名与静态类名连接起来。 <div class=<%="#{getClass(app.status)} two" %> 这会导致 <div class="one" two> 而不是 <div class="one two"> 如何解决这个问题? 如果您在 Elixir 中使用 Phoenix,则可以这样做: <div class={"fixed-left #{if @current_user do 'login-page' end}"}> 您应该使用<div class="<%= getClass(app.status)} %> two">。 <%= %> 评估 Elixir 代码并将结果注入 HTML 的任何部分。 您可以在 HTML 标记内注入值: <div> <%= @user_name %> </div> 或任何 HTML 属性 <a class="btn <%= if(@alert, do: "btn-danger", else: "btn-primary") %>">...</a> 或者设置HTML属性 <button class="btn btn-success" <%= if(@disable_button, do: "disabled", else: "tooltip=\"button is working\"") %>">...</button> 我会这样做: <div class={"#{getClass(app.status)} two"}> <div class={"fixed-left #{if @current_user, do: "login-page"}"}> 我认为这比 JuliSmz 发布的代码更惯用。请注意使用字符串 ("login-page") 而不是字符列表 ('login-page'),并且更短的 if 没有 end。 或者我根本不会搞乱字符串连接并传递这样的列表: <div class={[getClass(app.status), "two"]}> <div class={["fixed-left", (if @current_user, do: "login-page")]}> 这种方法的小好处是,当 <div class="fixed-left"> 为 <div class="fixed-left "> 时,我们得到 @current_user 而不是 nil。 请参阅文档了解更多信息。 请注意,这两种方法仅在 HEEx(.html.heex 文件或 ~H 印记)中可用,该文件自 Phoenix 1.6 起可用,因此在 OP 提出原始问题时,这两种方法都无效。如果没有 HEEx(在 EEx 中),我会像 sbacarob 和 CarefreeSlacker 提议的那样做,即: <div class="<%= getClass(app.status) %> two"> <div class="fixed-left <%= if @current_user, do: "login-page" %>">
我正在构建一个嵌套表单(LiveView)并想验证嵌套关联。然而,即使嵌套关联在变更集中返回错误,当使用变更集时我...
我正在使用 Elixir 和 Phoenix。我有一个带有文本输入的表单,最多只允许 255 个字符的文本。但是,错误没有显示,我不明白为什么它没有显示......
我有一个地图列表,每个地图都有一个键,说明项目插入到我的数据库中的“inserted_at”时间。我想按降序对这个列表进行排序,以首先显示最新的项目...
phoenix 应用程序在 Fly.io 上使用重新发送发送电子邮件时出错
我正在建立我公司的网站,所以我决定使用Resend进行邮件发送。 本地。一切正常,但是当我将网站投入生产时,重新发送 API 不起作用,哨兵向我显示了错误...
使用 ilike 和 SQL 连接的 Ecto 查询的正确语法是什么?
我正在尝试进行 Ecto 查询,其中连接给定查询结果的名字和姓氏,然后使用查询字符串执行类似搜索。例如,我可能想搜索
添加“timex v3.7”导致 Phoenix 服务无法启动“parse_trans_codegen”
原因: 我缺少 erlang-syntax_tools 包。 当我在容器上尝试时,没有问题......将关闭问题。 我正在使用最新的软件包,将重新安装或仅使用容器......
Ecto:处理embedded_schema中的深层嵌套关联
我正在制作复杂的注册表。 我的用户将拥有他们的个人资料,其中包含联系信息和项目集合。 我的架构(用户、个人资料、电话、集合、项目)如下所示:
如何修复此选择菜单,以便我可以通过 phx-change 访问参数
我只想在用户做出选择时从下拉菜单中捕获数据。最终,当用户从下拉菜单中进行选择时,我想捕获事件中组项目的 ID...
有更好的方法来完成这项工作吗? 我想在 LiveView 的任务中做一些异步工作。如果结果是错误情况,我想向最终用户显示错误页面而不是主页面
我在 p.followings 中返回了一个 Persona 模型列表,我想从这个模型列表中提取 follow_id 字段到一个单独的列表中。 p.以下内容 返回... [ %Poster.Pers...
如何在Windows 11中启动phoenix应用程序而不显示终端
背景 我正在创建一个简单的 Phoenix 伞应用程序以在客户端的 Windows 11 计算机上运行,我的目标是拥有类似 .exe 文件的文件来运行所述应用程序。 代码 我是
我正在学习如何配置两个表之间的belong_to / has_many关系。我已完成配置,但我不知道调用它的语法。我想要一张预先存在的桌子
我有大量的量子作业会在我的 iex 中生成日志垃圾。从我的凤凰应用程序: # 配置/dev.exs 配置:量子、MyApp、 计划任务:[ # 这里有大量的工作机会 ] 所以,我希望这部分是
ecto 中有 ActiveRecord `source` 的替代品吗?
请帮助我通过 ActiveRecord 的关联找到 has_one/has_many :source 选项的 elixir/ecto 选项。 这是我的问题,我有以下模式:用户,事件,
背景 我有一个小型 Phoenix 1.7 应用程序,我试图使用默认的 TailwindUI 组件添加径向进度条:https://tailwindui.com/components 对我来说不幸的是,我只是...
背景 我有一个小型 Phoenix 1.7 应用程序,我试图使用默认的 TailwindUI 组件添加径向进度条:https://tailwindui.com/components 对我来说不幸的是,我只是...