These are chat archives for synrc/n2o

24th
Jun 2016
rusjava8
@rusjava8
Jun 24 2016 13:04 UTC

Всем привет!
@m-2k Пример с Хабра:

dtl{ file = "login",

  app=n2o_sample,
  bindings=[
            {title,title()},
            {body,body()}
            ]}.

Здесь login — это имя шаблона: /priv/static/template/index.html;
title и body — именованные включения в HTML шаблоне {{title}} и {{body}};
title() и body() — функции, результат которых будет подставлен в HTML шаблон.

Вопрос, а где указанно что логин это индекс?

Научись уже пользоваться разметкой ну
Хотя ты с телефона походу :smile:
rusjava8
@rusjava8
Jun 24 2016 13:21 UTC
Да где про неё прочитать то хоть
Про markdown?
В инете
Я не понял вопроса
rusjava8
@rusjava8
Jun 24 2016 13:23 UTC
А понял, спасибо
Перефразируй
Логин это логин.хтмл
rusjava8
@rusjava8
Jun 24 2016 13:25 UTC
routes.erl строка route(<<>>) -> login; устанавливает по умолчанию страницу?
Я наверн ошибся
Устанавливает страницу для url == /
rusjava8
@rusjava8
Jun 24 2016 13:25 UTC
да, правильно?
Для любого юзай _
Ты читал про эрланг ваще?
rusjava8
@rusjava8
Jun 24 2016 13:27 UTC
Да
я знаю что такое _
В роут функцию попадает и матчится ровно то что в неё передается. Посмотри что передается и ответь сам себе
rusjava8
@rusjava8
Jun 24 2016 13:35 UTC
Понял, просто уточнил, спасибо
This message was deleted
This message was deleted
сообщения можно изменять
rusjava8
@rusjava8
Jun 24 2016 13:41 UTC
Сразу да, потом пункт #Edit# неактивный
rusjava8
@rusjava8
Jun 24 2016 14:49 UTC
route(<<"index",_/binary>>) -> index; route(<<"static/spa/index",_/binary>>) -> index;
В чем отличия?
А ты как думаешь
Второе для SPA примера
Разве один из вариантов входит во множество второго? Зачем ты задаешь такие вопросы? Почему розовый не синий?
rusjava8
@rusjava8
Jun 24 2016 14:59 UTC
Потому что у меня по умолчанию если урл 192.168.1.21:8000 без параметров то выдает файл index из папки static/spa, а после комментирования строки route(<<"static/spa/index",_/binary>>) -> index; выдает index из priv/templates/
Its magick! :-)
Exclusive street magick
rusjava8
@rusjava8
Jun 24 2016 15:15 UTC
Ок
Скажу словами Макса - в примере все работает без мистики
Just remove spa dir
And rewrite route file for uself
rusjava8
@rusjava8
Jun 24 2016 15:19 UTC
Удалить самоё лёгкое что можно сделать, но надо знать для начала все связи файлов в папке с кодом что бы мусора не оставить.
Мусора не будет
Review состоит из сотни строк кода. Ты в нем заблудиться боишься?
rusjava8
@rusjava8
Jun 24 2016 15:21 UTC
параметра то нет в урле, похоже на приоритет выбора одного из двух index файлов, а где он прописан не вижу
Use file-like search, luke
rusjava8
@rusjava8
Jun 24 2016 15:24 UTC
для меня review не структурирован и не достаточно документирован, но это лично для меня, по этому и переспрашиваю что бы не начинать всё с начала после редактирования
Сожалею. Но у меня нет времени быть твоей мамкой. Уверен если ты будешь сдерживать себя хотя бы на 10 минут прежде чем задать каждый вопрос сюда, у тебя появится больше опыта и уверенности.
rusjava8
@rusjava8
Jun 24 2016 15:27 UTC
и меньше времени
Я прислушаюсь к совету, спасибо.
Я много раз начинал с чистого примера копируя туда код, поскольку не мог локализовать проблему. Но это было так давно... поэтому чем раньше ты начнёшь тем раньше яблоки в саду поспеют.
И да тебе придется читать исходники. Это будет лучшим подспорьем чем читать документацию. Код на эрланге читается так же легко как и документация, но дает полностью исчерпывающую информацию. Profit!
rusjava8
@rusjava8
Jun 24 2016 16:39 UTC
This message was deleted
rusjava8
@rusjava8
Jun 24 2016 17:20 UTC
А почему может не работать прописанное в routes.erl route(<<"index3",_/binary>>) -> doc; и с шаблоном index3 и без него?
Куда имя нового шаблона ещё прописывать нужно?
В dtl
Index3 в твоем случае это url
Переутомился?
rusjava8
@rusjava8
Jun 24 2016 18:05 UTC
Да
Тогда повторю еще раз
Смотри на функцию которая вызывает route/1
И на Module:main/0, и на cowboy:compile_route
/thread
rusjava8
@rusjava8
Jun 24 2016 18:09 UTC
Ок, разбираюсь
rusjava8
@rusjava8
Jun 24 2016 19:15 UTC

Создал страницу index3.erl

-module(index3).
-compile(export_all).
-include_lib("kvs/include/entry.hrl").
-include_lib("nitro/include/nitro.hrl").
-include_lib("n2o/include/wf.hrl").

main() -> #dtl{file="index3",app=review}.

Создал одноимённый шаблон index3.html

Use file-like search ни к чему не привёл...
В каталоге deps решение?
rusjava8
@rusjava8
Jun 24 2016 19:27 UTC
Ладно начну с ./mad app "newSite"
rusjava8
@rusjava8
Jun 24 2016 20:06 UTC
В новосозданном проекте всё работает как надо, вопрос с добавлением новой страницы в приложение закрыт.
rusjava8
@rusjava8
Jun 24 2016 21:28 UTC
Порт c 8000 на 80 нужно менять только в sys.config ? Ещё в sample.erl указан
Еще в js если у тебя dynamic pages приложение
В шаблоне где Script тег
Там инициализация ws соединения
rusjava8
@rusjava8
Jun 24 2016 21:31 UTC
Ага я понял
Динамик это страницы которые в каталоге темплейтс считаются?
Это когда не spa
Хотя не, мы ж делали фикс
Смотри sys.config
websocket_port вроде
rusjava8
@rusjava8
Jun 24 2016 21:36 UTC
ну вот в sys.config и в sample.erl я порт сменил, но перестал чат работать который по умолчанию идёт в приложении
может хром просто глючит...
Что в js у тебя
rusjava8
@rusjava8
Jun 24 2016 21:39 UTC
<script>var transition = {pid: 'g2gCZ2QADW5vbm9kZUBub2hvc3QAAAEZAAAAAABoA2IAAAW6YgAMReZiAAIqPw==', port:'8001'}</script>
ну это я обратно вернул
wf:script(["var transition = {pid: '", wf:pickle(Pid), "', ", "port:'", wf:to_list(wf:config(n2o,websocket_port,wf:config(n2o,port,8000))),"'}"]),
Нах ты мне js из браузера шлешь
В шаблоне что
rusjava8
@rusjava8
Jun 24 2016 21:42 UTC
This message was deleted
А шо ты в sample.erl поменял?
rusjava8
@rusjava8
Jun 24 2016 21:43 UTC
порт только
У тебя localhost?
rusjava8
@rusjava8
Jun 24 2016 21:43 UTC
нет удалёнка
выделенный
Nginx есть?
rusjava8
@rusjava8
Jun 24 2016 21:44 UTC
нет
там только VM и n2o
Кароч пиши сюда что поменял и что не работает
Телепатов нет
rusjava8
@rusjava8
Jun 24 2016 21:48 UTC
Создал новое приложение ./mad app "newSite"
Порт по умолчанию 8001
Сменил порт в sys.config на 8000
Страница открывается, но не работает чат который идёт по умолчанию
Пробовал менять порт в sample.erl , ситуация такая же...
Такое ощущение что данные из браузера не отсылаются
Код постить это для слабаков?
rusjava8
@rusjava8
Jun 24 2016 21:50 UTC
Да какой код, я только порт сменил, sys.config ?
application:set_env(n2o,websocket_port,8000); сделай в консоли и Cmd+R в браузере
Ты проблему нихера понять не можешь, я за тебя гадать не собираюсь
Браузер в консоли что пишет
Как ты вообще баги фиксаешь
Методом тыка?
rusjava8
@rusjava8
Jun 24 2016 21:52 UTC
я их не делал просто
Мне это не интересно
Я написал решение, но ты вместо того чтобы написать что все заработало пишешь опять про своё горе
Код dtl шаблона сюда пришли где Script
rusjava8
@rusjava8
Jun 24 2016 21:54 UTC
да нет горя, я просто не понимаю почему просто смена порта создает не понятные проблемы
Потому что ты вообще ничего не понимаешь а просто тыкаешь все наобум
Как в повести Стругацких
rusjava8
@rusjava8
Jun 24 2016 21:55 UTC
<html>
<head>
<link href="/static/synrc.css" type="text/css" rel="stylesheet">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{{title}}</title>
</head>
<body>
{{body}}
<script>{{script}}</script>
    <script src='/n2o/protocols/bert.js'></script>
    <script src='/n2o/protocols/client.js'></script>
    <script src='/n2o/protocols/nitrogen.js'></script>
    <script src='/n2o/validation.js'></script>
    <script src='/n2o/bullet.js'></script>
    <script src='/n2o/utf8.js'></script>
    <script src='/n2o/template.js'></script>
    <script src='/n2o/n2o.js'></script>
<script>protos = [ $bert, $client ]; N2O_start();</script>
</body>
</html>
Я ничего не менял, кроме порта
Отлично. Теперь в консоли wf:config(port).
И wf:config(websocket _port).
Ты ребутал ковбой после смены порта?
rusjava8
@rusjava8
Jun 24 2016 21:58 UTC
убивал процесс n2o
Что в выводе
rusjava8
@rusjava8
Jun 24 2016 22:00 UTC
Да ругается консоль, что нет такой функции, сейчас...
Пробел убери
rusjava8
@rusjava8
Jun 24 2016 22:18 UTC
Разобрался
Это хром глючит, в других браузерах работает как и работало после смены порта
Порт для http и ws одинаковый должен быть или разный?
Что значит глючит
rusjava8
@rusjava8
Jun 24 2016 22:21 UTC
Глючит (не работает, перестал работать) чат в хроме, не знаю может кэш почистить надо, проверил в сафари и яндекс всё работает
Чистка кэша браузера помогла, теперь работает и в хроме. Спасибо.
rusjava8
@rusjava8
Jun 24 2016 22:50 UTC
Ответ: порт для http и ws - разный
Первый указывается в sys.config второй в sample.erl
rusjava8
@rusjava8
Jun 24 2016 23:02 UTC
Так?