
Vitaliy
22.08.2016
02:04:14
устанавливается на сервере, через rvm тот же, ставится дефолтным. если несколько версий руби на сервере - в проекте указывается проектная версия в .ruby-version файле. Есть это?

Amir
22.08.2016
02:07:10
ource $HOME/.rvm/scripts/rvm

Sergey
22.08.2016
02:08:06
root@vultr:~# ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]

Amir
22.08.2016
02:08:48
ты же под рутом

Google

Amir
22.08.2016
02:08:58
сделай bundle exec <comman>

Sergey
22.08.2016
02:11:18
rvm all do gem install executable-hooks сделал
Could not locate Gemfile or .bundle/ directory

Vitaliy
22.08.2016
02:12:30
а если из папки с проектом запустить?
bundle exec

Sergey
22.08.2016
02:13:56
bundler Работает
а deploy:assets:precompile
нет

Amir
22.08.2016
02:14:19
а если без deploy

Vitaliy
22.08.2016
02:14:41
да, прям на сервере

Amir
22.08.2016
02:15:41
bundle install —without development
потом recompile

Sergey
22.08.2016
02:31:17
root@vultr:~# bundle install —without development
ERROR: "bundle install" was called with arguments ["—without", "development"]
Usage: "bundle install [OPTIONS]"
прям на сервере с гита клонировать?
может какой-то проверочный таск добавить?

Google

Vitaliy
22.08.2016
03:04:08
клонировать незачем, если капистрано деплоил - проект уже на сервере
у меня в папке ~/apps/appname/current
вот туда зайти и просто запустить прекомпиляцию под продакшн энвайронментом
bundle exec rake assets:precompile --trace RAILS_ENV=production

Sergey
22.08.2016
03:08:48
у меня только файлы пумы
попробовал еще с 2.3
нашел https://github.com/rvm/rvm-capistrano но не заводится
а как еще задеплоить можно? чет я уже хочу че-нить сломать?

Vitaliy
22.08.2016
03:29:15
а как до этого деплоили?

Sergey
22.08.2016
03:38:57
только хероку еще пробовал
http://www.rubyfleebie.com/how-to-use-dokku-on-digitalocean-and-deploy-rails-applications-like-a-pro/ Dokku советовали еще

Alex
22.08.2016
04:04:00

Nikolay
22.08.2016
08:29:28

Nork
22.08.2016
11:52:35
только хероку еще пробовал
У меня валяется собранный деплой mkdev отсюда https://mkdev.me/posts/nastroyka-i-deploy-rails-prilozheniy-pri-pomoschi-ansible-i-capistrano

ojab
22.08.2016
13:40:37
это у тебя аутентификационный токен после ключа -t?

Плюшка
22.08.2016
13:44:00
уже нет

ojab
22.08.2016
13:44:06
ок
В сообщении у SocketError'a нет хоста/порта?

Плюшка
22.08.2016
13:44:41
а все
уже прошло
:D

Google

Amir
23.08.2016
02:43:50
Насколько помню в других языка, Java PHP и т.п.
условие вида
If (parent != null && parent.id == 1)
срабатывали без ошибок
а в рубли всеравно проверяет второе условие и выдает ексепшн когда parent nil

Andrey ?
23.08.2016
03:02:54
У меня есть такие условия и вроде не проверяет

I
23.08.2016
03:24:34
Он не должен проверять

Amir
23.08.2016
04:11:02
изменил логику условия
че то там сам намудрил с unless и т.п.
в ActiveRecord запись, конкретную запись так же удаляют?
Foo.where(name: "Admin").destroy_all
Foo.where(name: "Admin").delete_all
?

Alex
23.08.2016
04:14:13
Оно сотрет все записи, где name: 'Admin'
ну и во втором случае не будут вызваны after и before колбеки и валидации
если надо только 1 запись удалить, то Foo.find_by(name: "Admin").destroy

Amir
23.08.2016
04:23:31
ясно, почти правильно делаю оказывается
но всеравно путает destroy_all, подразумеваю что удалит все
Foo.where(name: "Admin").delete так бы сделали эти японцы тогда не путались бы :)
Есть такой код
<td> <%= msg.user.plot.parent.name unless msg.user.plot.parent.nil? %> </td>
Как красиво писать чтобы при msg.user.plot равном nil
не выскакивал ексепшн, а была пустая строка
такого кода их много

Alex
23.08.2016
04:33:18
= msg.user.plot.parent.try(:name)
Но красиво сделать лучше через декораторы

Alex
23.08.2016
05:07:18
т.е когда элементов много. Отсюда и название. И это логично.

ojab
23.08.2016
08:18:48
msg.user.plot.parent&.name

Alex
23.08.2016
08:19:43
всяко лучше, чем куча try во вьюхах

I
23.08.2016
08:20:07

ojab
23.08.2016
08:20:42

I
23.08.2016
08:20:45
хотя там вроде автоматом to_s идет

Google

Alex
23.08.2016
08:20:51
а про foo&.bar не знал, спасибо

ojab
23.08.2016
08:20:56

Alex
23.08.2016
08:20:57
это с какой руби пошло?

ojab
23.08.2016
08:21:01
2.3

I
23.08.2016
08:21:04
2.3

Alex
23.08.2016
08:21:22
А зачем try во вьюхах если разжевывать должен контроллер?

Nikolay
23.08.2016
08:21:23
лучше уж вынести метод parent_name в plot, чтобы не нарушать law of demeter настолько сильно и там уже решать нужен тебе nil или какой-нибудь NullParrent

Alex
23.08.2016
08:21:50
def name; object.parent.name || ''; end

Admin
ERROR: S client not available

ojab
23.08.2016
08:22:26
это декоратор?

Nikolay
23.08.2016
08:22:35
ну и получишь NoMethodError: undefined method `name’ for nil:NilClass

Alex
23.08.2016
08:22:40
да

ojab
23.08.2016
08:22:45
ну ок

Alex
23.08.2016
08:23:15
def name; object.parent ? object.parent.name : ''; end
в таком случае

ojab
23.08.2016
08:23:28
а чем декоратор от метода отличается?

Nikolay
23.08.2016
08:23:51
лучше будет в plot добавить delegate :name, to: :parent, allow_nil: true, prefix: true

Alex
23.08.2016
08:23:55
ничем, это такой же метод

ojab
23.08.2016
08:25:10

Nikolay
23.08.2016
08:25:16
нет

Google

Nikolay
23.08.2016
08:25:20
там с префиксом
xxx.parent_name

ojab
23.08.2016
08:25:27
а, просмотрел
да

Alex
23.08.2016
08:26:35
мы в диалектику играем?
в примере выше name будет методом, у обьекта класса ParentDecorator
не ParentDecorator только, а SomethingDecorator

ojab
23.08.2016
08:28:48
и что с этим SomethingDecorator делать потом?

Alex
23.08.2016
08:29:58
использовать

ojab
23.08.2016
08:30:09
как?

I
23.08.2016
08:30:20
можно прямо в контроллере задекорировать, а потом использовать декоратор

ojab
23.08.2016
08:31:44
использовать
ну то есть есть у меня
class Parent < ApplicationRecord
end
class Child < ApplicationRecord
end
куда мне SomethingDecorator вставить чтобы всё заработало?

I
23.08.2016
08:33:03
ну зависит от реализации декораторов. Если draper использует человек - то в папке app/decorators создается декоратор для Child’a с названием, к примеру, ChildDecorator

Alex
23.08.2016
08:33:35
изначально вопрос был, как во вьюхах избавиться от проверок object.parent.present?

I
23.08.2016
08:34:18
а в контроллере, где child’a берем, то как-нибудь @child = Child.find(params[:id]).decorate

Alex
23.08.2016
09:19:40
Ребят, может кто сталкивался: 5 рельса, добавляю js либу, в консоль браузера валится ошибка Uncaught ReferenceError: module is not defined
быстрый гуглинг не помог

ojab
23.08.2016
09:21:17
Что за либа? Как добавляешь?

I
23.08.2016
09:21:26
а какой модуль не defined-то?