Elixir 如何像凤凰城的其他语言一样提前返回
我想在有效检查后返回,然后转到其他第1页。 然而,它似乎在后面,然后呈现索引第2页Elixir 如何像凤凰城的其他语言一样提前返回,elixir,phoenix-framework,Elixir,Phoenix Framework,我想在有效检查后返回,然后转到其他第1页。 然而,它似乎在后面,然后呈现索引第2页 def index(conn, %{"id" => id}) do unless Model.is_valid!(id) do conn |> redirect(to: other_path(conn, :other)) #(1) end # More process are after this. render(conn, "index.html") #(
def index(conn, %{"id" => id}) do
unless Model.is_valid!(id) do
conn
|> redirect(to: other_path(conn, :other)) #(1)
end
# More process are after this.
render(conn, "index.html") #(2)
end
它似乎立即重定向到另一页,但随后继续。
我怎样才能像其他语言一样停止使用return呢?Elixir没有任何提前返回的方法。您必须使用除非/else或如果/else:
如果不需要额外的缩进级别,最好创建另一个函数并在else块中调用它。Elixir没有任何方法提前返回。您必须使用除非/else或如果/else:
如果不需要额外的缩进级别,最好创建另一个函数,并在else块中调用它。对于粗略,除非else end可以工作。但我不希望代码被嵌套在除非else-end。当然,除非else-end可以工作。但我不希望代码被嵌套,除非它结束。
def index(conn, %{"id" => id}) do
unless Model.is_valid!(id) do
conn
|> redirect(to: other_path(conn, :other)) #(1)
else
# More process are after this.
render(conn, "index.html") #(2)
end
end