elixir相关内容
如何在Elixir中使用模运算符? 例如在Ruby中,您可以执行以下操作: 5%2 == 0 它与Ruby的模运算符有何不同? 解决方案 对于整数,请使用 Kernel.rem/2 : iex(1)>雷姆(5,2)1个iex(2)>rem(5,2)== 0错误的 从文档中 计算整数除法的余数. rem/2 使用截断法,这意味着结果将始终带有股息的符号.
..
我在Phoenix LiveView中有一个包含 file_input 的表单.我想使用它来允许用户上传图像.我在理解表单发送给后端的内容以及如何使用它方面遇到困难.我希望图像文件具有%Plug.Upload {}表示形式,如文档中所述,但我只得到"[目标文件]" . 请注意,我没有使用变更集来支持表单,因为我没有使用Ecto:
..
我有一个已经具有 @derive Jason.Encoder 的结构,但是该结构中的某些字段是元组,因此,由于无法对该结构进行编码,我该如何解决这个问题://p> 更新 我在实现协议时使用了下面提到的方法.关于此方法,需要注意的重要一件事是,它将更改整个项目的编码,请注意这一点! 解决方案 请查看有关如何实现 encode/2 函数的文档:
..
通过Elixir处理unicode: iex>String.codepoints(“abc§")["a","b","c",“§"] 非常好,其中的byte_size/2不是4而是5,因为最后一个字符占用了2个字节,我明白了. ?运算符(或者是宏?找不到答案)告诉我 iex(69)>§§167 太好了;因此,我查看了UTF-8编码表,并看到值 c2 a7 作为char的十六进制
..
在Phoenix框架中,有一种基于路由/路径来设置页面标题的通用技术.还是仅仅是在路由函数内的正确位置调用 assign(:page_title,"fred")的问题? 更新 我最终实现了@michalmuskala解决方案的一种变体.我忽略了动作名称,而不是 @view_template :
..
运行Elixir应用程序的正确方法是什么? 我正在通过以下方式创建一个简单的项目 : 混合新应用 然后我可以做: 混合运行 基本上可以一次编译我的应用程序.所以当我添加: IO.puts“正在运行" 在 lib/app.ex 中的 我只第一次看到"running" ,除非有一些操作,否则每个连续的 run 都不执行变化.下一步如何使用生成的 app.app ?
..
因此,我的新键盘没有管道键,而且我经常使用它(我现在正在学习灵丹妙药).我知道 alt + 124 会生成 | ,但是每次我要在长生不老药上使用 |> 时键入它有点烦人 是否可以配置快捷方式(例如shift shift之类的东西)以在编辑器中插入 |> ? 解决方案 Microsoft有自己的工具来创建自定义布局. Microsoft键盘布局创建器1.4下载. 这是从 M
..
我不明白Elixir中的等号.尚不清楚的是,它看起来像是分配和模式匹配操作之间的混合体. iex(1)>x = 44iex(2)>y = 55iex(3)>3 = y**(MatchError)右侧值不匹配:5iex(3)>y = 33iex(4)>y = x4 我了解在Elixir中,等于运算符的意思是将=符号的左侧与右侧匹配.前两行对我来说很有意义.x和y是未绑定的变量,因此它们可以匹
..
在Elixir和Phoenix中,我可以通过 在Controller中进行会话 Plug.Conn.get_session(conn,:id) 那么如何使用 Phoenix.Channel 在其他模块中获取会话? 解决方案 Plug.Conn 在 Phoenix.Token 进行身份验证. 此处是有关如何在Phoenix中对频道进行身份验证的教程.
..
我有这个运行测试的GitHub action文件,但是现在我在其中集成了松弛通知.我想获取 Run tests 步骤的输出,并在松弛步骤中将其作为消息发送 -名称:运行测试运行:混合编译-错误警告混合格式-检查格式混合ecto.create混合ecto.migrate混合测试环境:MIX_ENV:测试PGHOST:本地主机PGUSER:postgres-名称:Slack Notification
..
当我使用IEx并像其他方括号或“这样的拼写错误时,大多数情况下我会遇到语法错误.但是有些情况是这样的: iex(3)>枚举每个'12345',&(IO.puts(& 1“))...(3)>结尾...(3)>)...(3)>'...(3)>结尾...(3)>"...(3)>...?如何产生语法错误?...(3)>BREAK:(a)无聊(c)继续(p)roc信息(i)nfo(l)(v)版(k)病(
..
我想使用ecto片段在phoenix应用程序中编写以下查询: 选择*从 (选择ID,insert_at +间隔"1天" *截止日期来自friend_referral_code)吨时区"UTC">中的localtimestamp最后期限 有效期的值是一个整数值,表示天数.到目前为止,我得到的是这样的: query =来自FriendReferralCode中的frc,其中:fragment
..
我正试图让与 friend_referral_code 没有关联的用户,或者他们的代码状态为假,并且他们也没有使用任何代码.但是我无法访问预加载的关联 friend_referral_code 的字段状态.这是我的操作方式: def get_first_free_invite_users()做用户=list_users()|>Repo.preload([:: friend_referral_c
..
我知道如何在Ecto查询中使用动态字段和值,例如: field =:age值= 20Ecto.Query.where(App.User,[x],field(x,^ field)"Ecto.Query.where(App.Us
..
Ecto文档显示了如何进行插值.但是我在查询中需要动态字段.我有数十个字段,并且为每个字段编写查询似乎并不连贯. defmodule Hedone.SearchController做使用Hedone.Web,:controller别名Hedone.Userdef idade(conn,%{"idade +" => maior,"idade-" => Menor,"campo" => campo
..
我正在努力使它与Postgres和Ecto一起使用.下面的查询在没有group_by的情况下可以正常工作,但我需要对似乎看不到的fragment字段进行分组.知道有什么问题吗? def query_clicks做来自(点击)|>选择([C],[fragment("date_trunc('hour',?)as hour",c.inserted_at),c.link_id])|>group_by(
..
当前正在使用Ecto + Postgres进行Phoenix项目.创建注释时,作为注释属于用户和文章都属于 to ,有没有一种方法可以建立多个关联来生成一个变更集? 类似于此伪代码 comment_changeset = build_assoc(文章,:comment)|>build_assoc(用户,:评论) 有什么想法吗? 解决方案 就像贾斯汀提到的那样,您可以使用 pu
..
我想通过Ecto Multi从先前插入的表主键中检索ID. 首先,我将插入到主表中.那么B明细表需要A.id.我尝试了以下代码. Multi.new()|>Multi.insert(:insert,main)|>Multi.insert_all(:insert_all,B,详细信息)|>Repo.transaction() 但是我不知道如何检索插入表B的A.id.我该怎么办?
..
我有一个在 p.followings 中返回的Persona模型的列表,我想从该模型列表中将 followed_id 字段提取到一个单独的列表中. > p.后续返回...[%Poaster.Personas.Following {__meta__:#Ecto.Schema.Metadata< ;:已加载,“跟随",关注的是:%Poaster.Personas.Persona {__met
..
对于我的Phoenix应用程序,我有这个 Dockerfile .使用Semaphore CI运行升级时,我的部署失败并返回以下错误: ERROR:无法满足的约束:libssl1.0(丢失):要求:world [libssl1.0]pdftk(丢失):要求:world [pdftk] 为什么无法获取这两个软件包? 解决方案 erlang:20-alpine 图片( libssl1.
..