标签: elixir

elixir phoenix和laravel elixir之间的区别

我已经使用Laravel PHP Framework进行Web开发,现在我想了解elixir并将其用作REST API服务.

我的问题是:elixir phoenix和laravel elixir有什么区别?

elixir laravel phoenix-framework laravel-elixir

8
推荐指数
1
解决办法
1116
查看次数

在Phoenix/Elixir中启用跨源资源共享CORS

我的前端是一个单独的Brunch.io AngularJS应用程序.由于我的前端在http:// localhost:3333上运行,而我的凤凰后端在http:// localhost:4000上运行,因此在尝试POST到http:// localhost:4000/api/users/register时出现此错误

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3333' is therefore not allowed access. The response had HTTP status code 404.
Run Code Online (Sandbox Code Playgroud)

所以我认为这是一个CORS问题.如何在凤凰中发送标题?

这是我的router.ex

  scope "/api", MyApp do
    pipe_through :api
    # Users
    post "/users/register", UserController, :register
  end
Run Code Online (Sandbox Code Playgroud)

这是我的UserController

defmodule MyApp.UserController do
  use MyApp.Web, :controller

  def register(conn, params) do
    IO.puts(inspect(params))

    conn
    |> put_status(201)
    |> json  %{ok: true, data: params}
  end

end
Run Code Online (Sandbox Code Playgroud)

elixir cors angularjs phoenix-framework

8
推荐指数
1
解决办法
3672
查看次数

mix deps.get失败(似乎缺少ssl?)

对不起,我是Elixir的新手.在构建凤凰应用程序时,mix deps.get失败并出现错误.

% mix deps.get
Could not find Hex, which is needed to build dependency :phoenix
Shall I install Hex? [Yn] y
** (MatchError) no match of right hand side value: {:error, {:ssl, {'no such file or directory', 'ssl.app'}}}
    (mix) lib/mix/utils.ex:409: Mix.Utils.read_httpc/1
    (mix) lib/mix/utils.ex:354: Mix.Utils.read_path/2
    (mix) lib/mix/local.ex:107: Mix.Local.read_path!/2
    (mix) lib/mix/local.ex:86: Mix.Local.find_matching_versions_from_signed_csv!/2
    (mix) lib/mix/tasks/local.hex.ex:23: Mix.Tasks.Local.Hex.run/1
    (mix) lib/mix/dep/loader.ex:140: Mix.Dep.Loader.with_scm_and_app/4
    (mix) lib/mix/dep/loader.ex:98: Mix.Dep.Loader.to_dep/3
    (elixir) lib/enum.ex:1043: anonymous fn/3 in Enum.map/2
%
Run Code Online (Sandbox Code Playgroud)

erlang和elixir已通过kerlasdf安装.我的安装日志在这里http://otiai10.hatenablog.com/entry/2016/02/03/154953

envirionment

  • MacOS:10.11.2
  • Erlang:18.0
  • Elixir:1.1.1

发生了什么,我该怎么办?

erlang elixir-mix elixir phoenix-framework

8
推荐指数
2
解决办法
2871
查看次数

如何从Elixir中的字符串中删除逗号?

我想知道如何从给定的字符串中删除逗号.我的尝试是:

st = "1,2,3"
String.strip(st, ?,)
#=> "1,2,3"
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

elixir

8
推荐指数
1
解决办法
2360
查看次数

你如何检查Phoenix/Elixir/Erlang应用程序的正常运行时间?

你如何检查Phoenix/Elixir/Erlang应用程序的正常运行时间?如果执行:observer.start()并查看"系统"选项卡,则可以在"统计"区域中查看正常运行时间.但我希望能够以编程方式提取该信息并将其包含在报告中.我已经找到了从哪里获取大部分数据,但我没有看到它从哪里获取正常运行时间.

erlang elixir phoenix-framework

8
推荐指数
1
解决办法
997
查看次数

如何将全局错误添加到Ecto Changeset

我想在Ecto.Changeset上设置一个非特定于字段的错误.

在我的情况下,我有一个登录表单,我想设置一个错误,说电子邮件或密码无效.但是我还是想在它们为空时突出显示emailpassword字段.

在Rails中,您可以通过添加条目来实现errors[:base].在Ecto中有等价物吗?

elixir ecto phoenix-framework

8
推荐指数
1
解决办法
1442
查看次数

如何在没有布局的情况下渲染控制器操作?

我有一个特定的控制器动作,我想要渲染没有任何布局.

我尝试在控制器级别没有插件的情况下渲染,但它没有用.

defmodule Hello.PageController do
  use Hello.Web, :controller

  plug :put_layout, nil

  def landing(conn, _params) do
    render conn, "landing.html"
  end
end
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

layout action controller elixir phoenix-framework

8
推荐指数
3
解决办法
2503
查看次数

无法从PowerShell运行elixir应用程序

当我输入iex -S mixPowerShell时,我收到此错误:

Invoke-Expression : A positional parameter cannot be found that accepts argument 'mix'.
At line:1 char:1
+ iex S mix
+ ~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Invoke-Expression], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeExpressionCommand
Run Code Online (Sandbox Code Playgroud)

在'iex'命令之后编写'-S mix'以获得在cmd中输入相同效果的正确方法是什么?我不相信PowerShell语法,这是一个问题.

powershell elixir

8
推荐指数
2
解决办法
1304
查看次数

Elixir:生成给定参数的'n`次出现列表(类似于Haskell的复制)

我想要一个Elixir函数来生成一个n参数出现列表,类似于Haskell的replicate函数:

Input: replicate 3 5

Output: [5,5,5]

Input: replicate 5 "aa"

Output: ["aa","aa","aa","aa","aa"]

Input: replicate 5 'a'

Output: "aaaaa"
Run Code Online (Sandbox Code Playgroud)

我已经创建了一个"复制"整数n时间的函数:

import String

def replicate(number, n)
  String.duplicate(to_string(number), n) 
  |> split("", trim: true) 
  |> Enum.map(fn n -> String.to_integer(n) end
end
Run Code Online (Sandbox Code Playgroud)

但这与规格不符:(.你能帮帮我吗?

haskell list elixir

8
推荐指数
1
解决办法
2882
查看次数

在Elixir/Mix/Phoenix应用程序中放置服务/初始化代码的位置?

我有一个Elixir/Mix应用程序(也有凤凰城,但也有很多非凤凰城的东西),我想知道什么是最好的做法,用于放入"启动"代码,例如动态地将孩子添加到主管,解雇关闭"我还活着!" ping或其他你希望在启动后立即发生的事情.

一个显而易见的地方是Application文件,但预期的返回是从中返回的Supervisor.start_link(children, opts).所以,例如,在Phoenix应用程序中,我可以这样做:

defmodule MyApp do
  use Application

  def start(_type, _args) do
    import Supervisor.Spec

    children = [
      supervisor(MyApp.Repo, []),
      supervisor(MyApp.Endpoint, []),
      supervisor(MyApp.DynamicSupervisorThingy, [])
    ]
    opts = [strategy: :one_for_one, name: MyApp.Supervisor]
    start_val = Supervisor.start_link(children, opts)



    # --- Put things right here that I want to start ----
    MyApp.DynamicSupervisorThingy.add_children_dynamically()
    MyApp.SomeModule.do_some_thingy()
    MyApp.OtherModule.send_some_pings()
    if MIX_ENV == :prod do
      MyApp.YetAnother.prod_stuff_i_dont_want_in_dev()
    end


    start_val
  end
end
Run Code Online (Sandbox Code Playgroud)

这似乎是错的,但我无法弄清楚我应该把这段代码放在哪里.

elixir phoenix-framework

8
推荐指数
1
解决办法
741
查看次数