
Vladimir
26.05.2017
09:49:33
сказка +

Vladimir
26.05.2017
11:01:30
еще 1 и 300

Nikolay
26.05.2017
15:10:36

Dmitry
26.05.2017
15:56:17
оп и я 300 учасник

Google

Svetlana
26.05.2017
15:56:37
Ты же был здесь

Dmitry
26.05.2017
15:57:25
последнюю недели полторы не был. отдыхал от чатов ( особенно от циферок непрочитанных сообщений)
Поясните мне кто нибудь политику партии вот есть у меня страницы о компинии, контакты и прочие статические страницы, хороший тон создать один контроллер pages и в роутах записывать как get 'contacts' => 'pages#contacts' или есть какой то иной подход? через resource? и разрешать только метод show?
как поступают благородные доны?

Svetlana
26.05.2017
15:59:50
На этой неделе как раз похожий вопрос задавала) Стронгли рекомендовали создавать разные контроллеры, каждый из которых подходит под основные методы rest

Alex
26.05.2017
16:00:37
на стаковерфлоу и в уроках предлагалось 1 контроллер и записи в роутах

Vadim
26.05.2017
16:00:49

Dmitry
26.05.2017
16:02:27

Svetlana
26.05.2017
16:02:30

Vitaliy
26.05.2017
16:03:04
class PagesController < ApplicationController
def show
if partial_name_correct?
render partial_name
else
not_found
end
end
private
def partial_name
params[:id].underscore
end
def partial_name_correct?
%w(agreement
become-provider
melp-for-providers
safety).include? params[:id]
end
end

Dmitry
26.05.2017
16:03:57
а можешь показать как y тебя для нескольких страниц контроллер pages и роуты выглядят?

Alex
26.05.2017
16:04:23

Vitaliy
26.05.2017
16:04:26
роуты:
resources :pages, path: '', only: :show

Google

Alex
26.05.2017
16:04:38

Dmitry
26.05.2017
16:08:45

Vitaliy
26.05.2017
16:09:50
так как в роутах у нас объявлен экшн show при path: '' - url-ки будут вида example.com/blabla, где blabla - params[:id] в экшне, и паршиал страницы, которую нужно показать
при этом нам нужно узнать, есть ли у нас паршиал под blabla (существует ли вообще такая страница

Dmitry
26.05.2017
16:10:47
вот как раз пытаюсь понять где они хранятся, они предрарительно в базу записаны?

Vitaliy
26.05.2017
16:11:11
нет, никакой базы, хранятся в app/views/pages/

Oleg
26.05.2017
16:11:11
в одноимённых вьюхах

Vitaliy
26.05.2017
16:11:24
app/views/pages/blabla.slim

Dmitry
26.05.2017
16:11:54
понятно
следующий вопрос на повестке дня, хочу создавать странички с человеко-понятным url есть же бест практис на этот счет?

Vitaliy
26.05.2017
16:13:09
friendly_id

Dmitry
26.05.2017
16:13:55
я вот на такое набрел сегодня - это уже не актуально ? http://www.unix-lab.org/posts/rails-slug-url/

Vitaliy
26.05.2017
16:15:17
15-10-2013
на самом деле пойдет
если не хочется тащить лишний гем
я тащу, удобно все-таки, плюс friendly_id покрывает больше кейсов

Nikolay
26.05.2017
16:17:09
Т.е таким образом в рельсы можно засунуть что-то вроде cms?
Образно

Dmitry
26.05.2017
16:19:25
сейчас заново в роутах и рест разбираюсь немного уже подзабыл, не сталкивался в проектах за последние 4 месяца с ними. вот есть у меня страница о компании, на ней 4 ссылки на подстраницы, и по одной из них еще 5 страниц о компании т.е.
site.com\about\level2\level1-5\ как это в роутах должно выглядеть?

Google

Vitaliy
26.05.2017
16:20:24
эти страницы - уникальные статичные?

Dmitry
26.05.2017
16:20:34
да
я причем уже вручную все прописал, но даже у меня глаза кровоточат..

Vitaliy
26.05.2017
16:22:02
тогда можно в роутах вместо
resources :pages, path: '', only: :show
объявить
get '*path', to: `pages#show
тогда в экшне pages#show в params[:path] будет путь со слешами. Его точно тем же методом выше можно проверять, и рендерить вьюху.
так по ссылке site.com\about\level2\level1-5\ будет рендериться вьюха app/views/pages/about/level2/level1_5.html.erb

Dmitry
26.05.2017
16:23:32
а вот это agreement
become-provider
melp-for-providers
safety
что такое?

Vitaliy
26.05.2017
16:24:00
это url-ки страниц, которые предполагаются у вас
т.е. если пользователь перейдет на example.com/agreement - он попадет на страницу
если перейдет на example.com/another-fucking-page - вы это в этом методе увидите и покажете ему 404 страницу

Dmitry
26.05.2017
16:24:45
а это просто перечисление тех вьюх что у нас есть..
так и последний вопрос и пойду все это воплощать, есть у меня шахматные наборы, я их планирую создавать из админки я пишу в routes - resources :chess_set и иду читать как пользоваться friendly_id чтобы создавать их с человекопонятными url ?

Vitaliy
26.05.2017
16:28:49
resources :chess_sets
plural name в случае с resources

Dmitry
26.05.2017
16:29:11
ой да недописал но хотел
у меня вложенность немного не укладывается в голове
вот есть http://localhost:3000/chess_sets
а они будут http://localhost:3000/chess_sets/super_set_blabla
я это в роутах же должен написать что они принадлежат chess_sets

Vitaliy
26.05.2017
16:30:57
Модель ChessSet, в админке CRUD, в веб версии вывод в index и, если нужно, в show. Сперва можно создавать и выводить по ID, потом прикрутить friendly_id и выводить по slug.

Google

Vitaliy
26.05.2017
16:31:39
все, в show в params[:id] у вас будет либо ID (если без ЧПУ), либо slug (если с ЧПУ и friendly_id)

Dmitry
26.05.2017
16:34:49
так я и не уловил как вложенность получится \шахматные_наборы\шахматный_набор

Vitaliy
26.05.2017
16:35:12
а она нужна?

Dmitry
26.05.2017
16:35:13
извеняюсь, с самого утра на ручнике, простужен
да

Vitaliy
26.05.2017
16:35:35
http://localhost:3000/chess_sets/super_set_blabla - вот эта ссылка что вам должна вывести?

Dmitry
26.05.2017
16:35:55
один из 19 шахматных наборов

Vitaliy
26.05.2017
16:36:11
то есть chess_sets#show, верно?

Dmitry
26.05.2017
16:36:50
ну да

Vitaliy
26.05.2017
16:37:05
так и выведет

Dmitry
26.05.2017
16:37:14
только я зыбыл один уровень блин
шахматныенаборы\из_бивня_мамонта\конкретный_набор_1
(наш разговор в блокнот выпишу, прям можно статью писать о роутах, для таких же чайников как я )

Vitaliy
26.05.2017
16:38:59
круто, шахматныенаборы\из_бивня_мамонта - что должна показать?

Dmitry
26.05.2017
16:39:22
а это будет index

Vitaliy
26.05.2017
16:39:24
индекс чего? лучше пока без рельсовых терминов, что по дизайну ожидаете увидеть?

Dmitry
26.05.2017
16:40:39
список всех наборов из бивня
и оттуда переход на каждый

Google

Vitaliy
26.05.2017
16:41:00
окей, а что по ссылке /шахматныенаборы у нас будет?

Dmitry
26.05.2017
16:41:17
выбор между бивнем и деревом

Vitaliy
26.05.2017
16:41:50
бивень и дерево - заранее известные две категории, количество которых потом меняться не будет?

Dmitry
26.05.2017
16:42:03
да
можно для простоты поглядеть, страничка сама уже есть)
http://dmitryd8.bget.ru/chess_sets
про дизайн ни слова ))) какой одобрили такой и делаю))

Vitaliy
26.05.2017
16:48:29
тогда я так это вижу:
1. Модель ChessSet.
2. У нее помимо прочих полей - есть enum :category с двумя возможными значениями (:wood и :tusk).
3. Роуты
resources :categories, path: 'chess-sets', only: :index do
resources :chess_sets, path: '', only: [:index, :show]
end
4. Контроллеры и экшны
4.1 categories#index - для вывода страницы по url /chess-sets для вывода в ней выбора категории из двух.
4.2 chess_sets#index - для вывода каталога досок, по url /chess-sets/tusk, при этом в params[:category_id] будет категория (:wood или :tusk), по которой можно отбирать доски для вывода.
4.3. chess_sets#show - для вывода конкретной доски, по url /chess-sets/tusk/doska-bolshaya.

Dmitry
26.05.2017
16:52:25
ух, спасибо! завтра на свежую голову попробую все это реализовать, статья думаю будет огонь так что пиши обязательно.

Vitaliy
26.05.2017
16:54:24

Dmitry
26.05.2017
17:04:51
добавился)

Vitaliy
26.05.2017
17:09:48
?

spartakusQ
26.05.2017
17:53:53
вечер добрый котики, подскажите что для начального уровня по жаваскрипту почитать или посмотреть?

Vitaliy
26.05.2017
17:55:24
learn.javascript.ru

Ro
26.05.2017
19:13:47
что у нас, оффтоп уже?
вечер пятницы?
админы разрешают флудить?)
спрошу, пожалуй: есть ли камера дешевле гоу-про и без косяков (типа плохого звука и отсутствия стабилизации)?

Lilian
26.05.2017
19:20:25
Ращ Журавль разрешил флуд....
Котаны рубаны. А нет в Питере свежих джунов, которые хотят начать работать и расти в качестве qa инженера (все автотесты пишем на руби, для взаимопонимания с разработчиками) Роста в разрабов не обещаю сразу. Нормальную зп, возможности учиться, расти и постепенно мигрировать в разработку - есть.

Michael
26.05.2017
19:23:10