
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

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 по умолчанию, чаще всего приходится потом выпиливать это

Alex
05.03.2017
08:31:46

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

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

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

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
щито