Size: a a a

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

2019 June 09

KA

Kurmet Aubanov in Эликсир и Вунш
Попробуй поставить в любой модуль строку IO.inspect conn, и посмотреть
источник

KA

Kurmet Aubanov in Эликсир и Вунш
Также требуется чтобы conn всегда был значением на выходе любого модуля контролёра
источник

SK

Suren Kirakosyan in Эликсир и Вунш
Kurmet Aubanov
Render создаёт HTML код, conn это map с элементами connection который для каждого подключения создаётся. Передавая его по модулям контролёра, можно всегда знать с какими параметрами эти модули должны обрабатывать это подключение.
А могу я получить содержимое IO.inspect conn прямо в запущенном iex -S mix phx.server сессии?

И что за ошибку я получаю после добавления IO.inspect(conn) внизу рендринга в файле контроллера?
источник

SK

Suren Kirakosyan in Эликсир и Вунш
Всё равно я не могу полностью понять функцию
 def index(conn, _params) do
   render(conn, "index.html")
 end

В контроллере и в вью

defmodule ManWeb.PageView do
 use ManWeb, :view
end
источник

KA

Kurmet Aubanov in Эликсир и Вунш
Suren Kirakosyan
А могу я получить содержимое IO.inspect conn прямо в запущенном iex -S mix phx.server сессии?

И что за ошибку я получаю после добавления IO.inspect(conn) внизу рендринга в файле контроллера?
Да, попробуйте
источник

KA

Kurmet Aubanov in Эликсир и Вунш
Suren Kirakosyan
Всё равно я не могу полностью понять функцию
 def index(conn, _params) do
   render(conn, "index.html")
 end

В контроллере и в вью

defmodule ManWeb.PageView do
 use ManWeb, :view
end
Прочитайте phoenix guide
источник

МБ

Максим Барулин in Эликсир и Вунш
Контроллер дёргает рендер из вью, который попадает туда из макрос, рендер рендериь шаблон и возвращает результат
источник

KA

Kurmet Aubanov in Эликсир и Вунш
На официальном сайте
источник

SK

Suren Kirakosyan in Эликсир и Вунш
Я попробовал написав IO.inspect(conn) но получил ошибку, наверное неправильная команду ввёл.
источник

МБ

Максим Барулин in Эликсир и Вунш
Вместо io.inspect просто инспект, он возвращает содержимое как строку, а Ио сразу в консоль сует
источник

SK

Suren Kirakosyan in Эликсир и Вунш
Если не сложно дайте готовую команду, а то я всё набрал, а желаемого не получил
источник

DZ

Dmitry Z in Эликсир и Вунш
Suren Kirakosyan
А могу я получить содержимое IO.inspect conn прямо в запущенном iex -S mix phx.server сессии?

И что за ошибку я получаю после добавления IO.inspect(conn) внизу рендринга в файле контроллера?
render возвращает модифицированный conn, который должен быть возвращен контроллером. Добавляя после него IO.inspect(conn), вы возвращаете исходный conn, теряя отрендеренный результат
источник

SK

Suren Kirakosyan in Эликсир и Вунш
Перемещение инспекта на одну строку вверх избавило меня от ошибки.
источник

SK

Suren Kirakosyan in Эликсир и Вунш
Например так я могу получить содержимое индекс.хтмл файла, но так не могу получить ответ конн
Phoenix.View.render(HelloWeb.PageView, "test.html", %{})
Phoenix.Controller.render(HelloWeb.PageController, "index.html", %{})
источник

МБ

Максим Барулин in Эликсир и Вунш
А зачем его получать?
источник

SK

Suren Kirakosyan in Эликсир и Вунш
Честно говоря - ради интереса, как это делается
источник

DZ

Dmitry Z in Эликсир и Вунш
result = render(conn, index.html)
IO.inspect(result)
источник

DZ

Dmitry Z in Эликсир и Вунш
или, то же самое короче
render(conn, index.html)
|> IO.inspect
источник

SK

Suren Kirakosyan in Эликсир и Вунш
Круто, спасибо. А какую выгоду я могу получить от этого вывода?
источник

SK

Suren Kirakosyan in Эликсир и Вунш
Кто-то тестировал приложение через Hound?
https://hexdocs.pm/hound/readme.html
источник