在Phoenix路由器中是否有可以充当通配符的路由?
我正在尝试以编程方式将预加载附加到我的某个具有has_many, through:关系的模型的查询中.
我的模块:
defmodule MyApp.Chemical do
use MyApp.Web, :model
schema "chemicals" do
has_many :company_chemicals, MyApp.CompanyChemical
has_many :companies, through: [:company_chemicals, :companies]
field :name, :string
end
def with_companies(query) do
from chem in query,
left_join: comp_chem in assoc(chem, :company_chemicals),
join: company in assoc(comp_chem, :company),
preload: [companies: company]
end
end
defmodule MyApp.Company do
use MyApp.Web, :model
schema "companies" do
has_many :company_chemicals, MyApp.CompanyChemical
has_many :chemicals, through: [:company_chemicals, :chemicals]
field :name, :string
end
end
defmodule MyApp.CompanyChemical do
use MyApp.Web, :model
schema "company_chemicals" do
belongs_to …Run Code Online (Sandbox Code Playgroud) 有没有办法看到函数的守卫而没有看到源代码?
给出一个示例函数(在Elixir中):
def divide(x, y) when y != 0 do
x / y
end
Run Code Online (Sandbox Code Playgroud)
怎么会弄清楚在没有访问源代码的情况下有一个分区/ 2的守卫,以及如何找到关于该守卫的信息或者后卫对模式匹配的预期?
我正在观看来自Ruby Conf 2014的Chris McCord(Elixir凤凰框架的创建者)的演讲.在演讲中,克里斯正在描述警卫,并且有人问是否有办法检查可以显示该功能的警卫的功能.
这是谈话的问题:
https://www.youtube.com/watch?v=5kYmOyJjGDM&t=5188
视频t =时间后不久就会问这个问题.
在 Elixir 的 repl 中,iex当我输入Process.whereis(:user)它时会返回一个pid. 这个:user过程是什么?它有什么作用?它是什么状态?
它似乎被永久阻止或休眠,因为我无法通过:user |> Process.whereis() |> :sys.get_state().