Size: a a a

Эликсир и Вунш

2018 June 19

AV

Andrew Volozhanin in Эликсир и Вунш
https://youtu.be/r0DuAse9tK8?t=12m23s
Вот тут не советуют через WAN юзать в принципе
источник

AD

Andrei D in Эликсир и Вунш
если вопрос в том, не встанет ли колом VM в случае проблем на канале – нет, не встанет
источник

AD

Andrei D in Эликсир и Вунш
никто и не советует 🙂 но для observer достаточно 🙂
источник

AV

Andrew Volozhanin in Эликсир и Вунш
не, мне для day-to-day общения между нодами
источник

AD

Andrei D in Эликсир и Вунш
посмотрите https://lasp-lang.readme.io/ тогда сразу
источник

AV

Andrew Volozhanin in Эликсир и Вунш
нужно stats_collector ноде получить список ip от backend ноды по которому потом собираться статы
источник

AV

Andrew Volozhanin in Эликсир и Вунш
не, не настолько заморочено)
источник

AV

Andrew Volozhanin in Эликсир и Вунш
просто начитаешься про distributed erlang, сразу хочется его юзать везде.
но не все так просто, и везде свои компромисы
источник

AV

Andrew Volozhanin in Эликсир и Вунш
т.е. в любом другом языке я бы не заморачивался и просто поднял http api с authentication + tls
источник

AD

Andrei D in Эликсир и Вунш
Andrew Volozhanin
т.е. в любом другом языке я бы не заморачивался и просто поднял http api с authentication + tls
благословляю 😉
источник

AV

Andrew Volozhanin in Эликсир и Вунш
ну раз такое дело 😄
источник

МБ

Максим Барулин in Эликсир и Вунш
Максим Барулин
подскажите как вставить связь юзера с чем-нибудь?
есть юзер

 schema "users" do
   field(:password, :string)
   field(:username, :string)
   has_many :requests, Sandbox.Api.Request
   timestamps()
 end

 @doc false
 def changeset(%__MODULE__{} = user, attrs) do
   user
   |> cast(attrs, [:username, :password])
   |> validate_required([:username, :password])
   |> put_pass_hash()
 end

есть его запросы:

schema "requests" do
   field(:useragent, :string)
   field(:ip, EctoFields.IP)
   field(:code, :string)
   belongs_to :user, Sandbox.Auth.User
   timestamps()
 end

 @doc false
 def changeset(request, attrs) do
   request
   |> cast(attrs, [:useragent, :ip, :code])
   |> cast_assoc(:user)
   |> validate_required([:useragent, :ip])
 end

пытаюсь создать запись:

Api.create_request(%{
       ip: to_string(:inet_parse.ntoa(conn.remote_ip)),
       useragent: get_req_header(conn, "user-agent") |> hd,
       code: body,
       user: user
     })

но вылезает ошибка:

[error] insert error: %Ecto.CastError{message: "expected params to be a :map, got: `%Sandbox.Auth.User{__meta__: #Ecto.Schema.Metadata<:loaded, \"users\">, id: 1, insert

Что с этим делать то? Не могу нагуглить ничего путного... Какие-то разрозненные клочки кода, которые не ясно как собрать воедино
ребяты, хелп. что я делаю не так? cast_assoc не помогает, либо я не понял как его готовить
источник

A

Anatoliy Kovalchuk in Эликсир и Вунш
Api.create_request(%Request{}, %{
       ip: to_string(:inet_parse.ntoa(conn.remote_ip)),
       useragent: get_req_header(conn, "user-agent") |> hd,
       code: body,
       user: user
     })
источник

МБ

Максим Барулин in Эликсир и Вунш

 def create_request(attrs \\ %{}) do
   %Request{}
   |> Request.changeset(attrs)
   |> Repo.insert()
 end
источник

A

Anatoliy Kovalchuk in Эликсир и Вунш
хм
источник

A

Anatoliy Kovalchuk in Эликсир и Вунш
а в user что передаешь?
источник

A

Anatoliy Kovalchuk in Эликсир и Вунш
тоже map с параметрами?
источник

МБ

Максим Барулин in Эликсир и Вунш
юзера, который загружен из бд
источник

МБ

Максим Барулин in Эликсир и Вунш
модель экто
источник

A

Anatoliy Kovalchuk in Эликсир и Вунш
если хочешь привязать юзера к модели, то можно просто передавать user_id
источник