@rubylang

Страница 919 из 1684
v
05.03.2017
00:33:13
а почему не сделать items_limit свойством User'а?

Serhii
05.03.2017
00:36:28
в тарифном плане еще другие свойства есть

v
05.03.2017
00:41:42
ну они ж тебе не нужны в данном случае?

ну или сделай хотя бы не через Tariff.update_limits. А то этот Tariff слишком крутой получается - и данные пользователя хранит, и какие-то item'ы шевелит

Google
Serhii
05.03.2017
00:59:39
Данных пользователя там нет. Это у пользователя в профиле стоит название тарифного плана и уже с соот ветствующего Tariff берутся лимиты, ограничения, которые у него действуют. Меня больше волнует что модель совершает действия над другими моделями.

Demyan
05.03.2017
06:07:28
Обязательно ли прописывать в экшене контроллера respond_to do |format| типо для html и для js при ajax'е?

если и так есть файл типа index.js.erb

или пишу типа respond_to do |format| format.html { render :index } format.js { } end и тогда при запросе обычном рендерится страница. а при ajax рендерится файл index.js.erb и уже из него чонить обновляется на странице

pny
05.03.2017
06:41:12
один контроллер который отвечает на все типы запросов - так себе идея

Demyan
05.03.2017
06:53:39
очепяточка. экшн

pny
05.03.2017
06:57:25
ну так экшон в контроллере

и контроллер получается отвечает на разные типы запросов

Victor
05.03.2017
07:06:06
Обязательно ли прописывать в экшене контроллера respond_to do |format| типо для html и для js при ajax'е?
Если у тебя все завершается как вызов render, то по моему не обязательно формат использовать. Другой вопрос зачем ты хочешь отдавать js код в ответ на аякс запрос. Отдай джейсон, в хендлере его попарсь и юзай данные

Demyan
05.03.2017
07:07:09
не умею я с джейсон. я только чуть разобрался с аджакс

Victor
05.03.2017
07:07:41
и контроллер получается отвечает на разные типы запросов
Да вообще-то это обычная практика, отдавать хтмл или джейсон в зависимости от того, аякс запрос или нет

Ну надо начинать уметь, там все просто

Demyan
05.03.2017
07:09:00
вопрос был другой. Ибо работает и без объявления конструкции и с объявлением

Google
Victor
05.03.2017
07:09:21
Ну на твой вопрос я ответил

Формат нужен, если ты хочешь ещё что-то сделать, кроме простого render

Demyan
05.03.2017
07:12:14
ясненько) спасибо)

pny
05.03.2017
07:58:28
Victor
05.03.2017
08:10:03
Dmitriy
05.03.2017
08:14:18
запросы в базу из вьюх? :)

pny
05.03.2017
08:14:29
а потом добавляется json, а потом разнится логика, а потом проще переписать контроллер чем добавить в него что то новое :)

Alex
05.03.2017
08:15:13
разница логика при отдаче контента по одному и тому же адресу? что?

pny
05.03.2017
08:18:41
чоб нет то?

Alex
05.03.2017
08:19:03
зачем так делать? чтобы добавить себе проблем?

pny
05.03.2017
08:19:33
Коль уже добавились проблемы различных типов респонсов, чего бы не добавить еще

Alex
05.03.2017
08:20:09
зачем так делать? чтобы добавить себе проблем?

pny
05.03.2017
08:22:26
Вот и я о том же, нафига нужны разные типы респонсов в одном контроллере

Alex
05.03.2017
08:23:00
какая разница какой он view отдает

главное чтобы логика у контроллера была одинаковая.

Victor
05.03.2017
08:26:54
Я тоже не вижу никаких проблем здесь, если разницы в логике нет, и просто рендерятся разные типы вьюх. Если потом так сильно расхождение в бизнес логике появляется, то да, есть смысл вынести в отдельный контроллер.

Тем более, у новичков обычно такое понаверчено, что отдавать json & html в одном контроллере – это меньшая из бед. Другое дело, что я против того, чтобы scaffold генерировал код с применением format по умолчанию, чаще всего приходится потом выпиливать это

Victor
05.03.2017
08:38:55
Ну вот если исходить из идеи, что генераторы создают код, который есть отражение best practices, то имхо в этом месте это не совсем так. Хотя флаг есть наверное, но я бы предпочёл, чтоб он по умолчанию был off, хочешь контроллер с форматом – передавай --use-format или как-то так

Alex
05.03.2017
08:42:02
генераторы точно не создают best practices

Google
Alex
05.03.2017
08:42:16
они юзают jbuilder, а поидее best practices это active model serializers

Demyan
05.03.2017
08:52:36
что юзать для ajax? get или post?

<%= button_to "Like", like_news_path, form_class: "my_class", method: :post %> вот эта хрень отсылает get почему то

Alex
05.03.2017
08:55:16
потому что это кнопка а не форма

постом отправляют формы.

v
05.03.2017
08:59:25
что юзать для ajax? get или post?
зависит от того, что ты делать собираешься

Demyan
05.03.2017
08:59:49
пару примеров можно на каждый тип)

?

v
05.03.2017
09:01:00
там в самом начале статьи написано то, что тебе надо

Demyan
05.03.2017
09:01:14
спл

Andrey
05.03.2017
09:01:36
пару примеров можно на каждый тип)
get - когда ты просто получаешь данные, post- когда у тебя идет изменение данных

Alex
05.03.2017
09:01:54
http://guides.rubyonrails.org/working_with_javascript_in_rails.html Demyan прочти уже гайды, говорили же.

Demyan
05.03.2017
09:02:25
они стремные какие то. я уже читад

Alex
05.03.2017
09:02:29
вообще у link_to есть remote: true, да.

они стремные какие то. я уже читад
Ты шутишь чтоли? вот что реально стремно это пособия на хабре, они зачастую неполные, неточные или устарели.

или "давайте подключим крутой гем вместо того чтобы юзать уже встроенный функционал", а гему 8 лет.

стремные гайды, посмеялся. Они короткие, простые, понятные и по существу.

Semyon
05.03.2017
09:05:01
get - когда ты просто получаешь данные, post- когда у тебя идет изменение данных
post это когда ты постишь данные, когда изменение это PUT/PATCH :)

Demyan
05.03.2017
09:06:06
понял)

Google
Alex
05.03.2017
09:11:34
создание лайка вполне себе post

Demyan
05.03.2017
10:13:57
можно и get

Alex
05.03.2017
10:16:50
На get создавать сущность ? Да вы батенька извращенец.

Get не должен менять состояние.

Demyan
05.03.2017
10:18:17
я хотел 2 экшена like dislike и когда на один гет, экшн в общем и делает что надо а потом ajax'ом меняет ссылку на противоположную, и обновляет счетчик

Alex
05.03.2017
10:18:42
Ахах, обновляет счетчик.

Demyan
05.03.2017
10:18:55
ну из базы берет кол-во лайков

Alex
05.03.2017
10:18:55
А пересчитать счетчик потом сможеш

А защиту от повторного голосования сможешь?

Admin
ERROR: S client not available

Demyan
05.03.2017
10:19:10
мб не так выразился

socialization

Alex
05.03.2017
10:19:15
Сущность лайка надо создавать

Demyan
05.03.2017
10:19:19
сможет

Alex
05.03.2017
10:19:32
Ну так раз сущность создаешь то это не get

Demyan
05.03.2017
10:19:36
хотя он ебанутый. встроенный генератор генерит сразу все говно.

у мнея все есть для голосования.

мне надо только аджаксом проголосовать и наоброт

все проверки в экшене

Alex
05.03.2017
10:21:01
Ну, а зачем get?

Google
Alex
05.03.2017
10:21:07
Тут post нужен

Demyan
05.03.2017
10:21:17
а зачем пост? разница то какая не пойму

Alex
05.03.2017
10:21:31
Еще раз Get - НЕ МЕНЯЕТ состояние

Не создает сущностей и так далее

Demyan
05.03.2017
10:21:47
я просто не догнал пока как отправить и принять параметры в пост

Alex
05.03.2017
10:22:07
Поэтому не разобрался и закостылил, красавчик.

Demyan
05.03.2017
10:22:37
но гет запрос просто пнет экшн, передав ему айди новости. экшн сделает всю работу и обновит аджаксом данные на вьюхе

Alex
05.03.2017
10:23:14
Да да, потом вьюшка в базу полезет

Потом еще наговнокодим. Я сделаль

Demyan
05.03.2017
10:23:34
пост запрос так же пнет его. параметр задается от роута. /news/:id/like

Alex
05.03.2017
10:24:05
Ну да, только пост не кешируется

Demyan
05.03.2017
10:24:55
кстати да

чот я не подумал

@Fedcomp Подскажи. как мне лучше сделать. Если я хочу чтобы лайкать могли и внутри просмотра новости. и на главной где все новости выводятся. щас у меня роут /news/:id/like он работает только в show. а в index нет, ибо там нет параметра :id в блоке рендерящем новость

Alex
05.03.2017
11:40:13
у тебя один и тот же роут будет, нет?

news/:id/like

что на главной что во внутренней странице можно ссылку ставить на этот роут, проблемы не вижу.

Demyan
05.03.2017
11:40:41
хочу чтобы один роут был

универсальный типо

Alex
05.03.2017
11:40:48
ну он и будет один как бы

Demyan
05.03.2017
11:41:13
на главной No route matches {:action=>"like", :controller=>"news"} missing required keys: [:id]

Alex
05.03.2017
11:41:29
щито

Страница 919 из 1684