
Alexander
24.03.2017
12:29:30

Alex
24.03.2017
12:44:34
так понятнее откуда взяли - из залупы
и куда передаём в залупу

Alexander
24.03.2017
12:45:56

Google

Ilya
24.03.2017
12:46:20
блять, это такая мелочь
пишешь хелпер и все
def zalupa(symb_arr)
symb_arr.map {|i| [i, send(i)] }.to_h
end
zalupa([:zalupa1])
=> {zalupa1: zalupa1}

Alexander
24.03.2017
12:48:29

Ilya
24.03.2017
12:48:49
ну тут смысл в том, что обычно таких полей много
представь, что их 10
(собственно там поэтому блять и массив в качестве аргумента)

Alexander
24.03.2017
12:50:22

Ilya
24.03.2017
12:50:33
потому что это прототип

Alexander
24.03.2017
12:50:39

Ilya
24.03.2017
12:50:42
а тебе хочется доебаться
вот и все

Google

Alexander
24.03.2017
12:51:07

Ilya
24.03.2017
12:52:47
ок

Dmitriy
24.03.2017
12:56:52
ребят подскажите, имеет ли смысл покрывать тестами контроллеры? а именно экшены new, edit, create, update и тд

Ilya
24.03.2017
12:57:24
если это просто админка, то смысла обычно нет
если что-то сложное, то имеет

Dmitriy
24.03.2017
12:58:11
понятно... тогда просто будет практика ) уже потовину покрыл, просто выходит то, что я пишу одно и тоже при тестировании каждого контроллера

Ilya
24.03.2017
12:58:37
используй shared_examples

Dmitriy
24.03.2017
12:59:11
ну да, в некоторых местах уже применил, думаю допишу тогда тесты, а потом проведу рефакторинг

Alex
24.03.2017
14:03:02

Alexander
24.03.2017
14:03:33
Что не подгружается?

Alex
24.03.2017
14:04:05
например в корень /app
кладу app.rb
туда puts " I am exectued! "
Запускаю рельсы
bin/rails server
app.rb не исполняется внтури /app
в консоли ничего не вижу
значит нужно конфигурировать что подргужать при запуске в config/application.rb

Alexander
24.03.2017
14:05:33
в класс App заверни
либо да
если мы о рельсе, конечно :)
а там ещё всякие контроллеры, модели, в туда надо ложить :)

Alex
24.03.2017
14:07:17
мы о рельсе
Извиняюсь, не уточнил
именно в реальсах меня это интересует
# app.rb
class App
puts " I am exectued! "
end
завернул
не исполняется всё равно при запуске

Alexander
24.03.2017
14:08:12
http://guides.rubyonrails.org/action_controller_overview.html#controller-naming-convention

Google

Alexander
24.03.2017
14:08:39
у тебя тама должен быть ApplicationController уже, вот туда и засунь :)
только не понимаю, зачем

Alex
24.03.2017
14:11:48
# main.rb
class MainController < ApplicationController
puts "@@@@ i am exectued! "
def someMethod
puts "some method got exectued! "
end
end
засунул
не исполняется

Alexander
24.03.2017
14:12:35
где main.rb то лежит? и почему main?

Ilya
24.03.2017
14:12:38
ну так погугли, тебе надо application.rb изменить

Alex
24.03.2017
14:12:40
или добавить
mainController = MainController.new
mainController.someMethod
лежит в корне /app
ну какая разница, main, app

Alexander
24.03.2017
14:13:10
лень мне гуглить, гед эт описано :)

Alexander
24.03.2017
14:14:48
положи файл main_controller.rb в директорию controllers, в котором будет класс MainController :)

Ilya
24.03.2017
14:16:06
config.autoload_paths << "#{Rails.root}/app"

Alexander
24.03.2017
14:16:42
это ж вроде скелетон падефолту делает, не?

Alex
24.03.2017
14:16:57
# main_controller.rb /app/controllers/main_controller.rb
class MainController < ApplicationController
puts "@@@@ i am exectued! "
def someMethod
puts "some method got exectued! "
end
end

Alexander
24.03.2017
14:16:59

Alex
24.03.2017
14:17:00
положил
не исполняется

Ilya
24.03.2017
14:17:27
чувак, посмотри что у тебя в $LOAD_PATH

Google

Alexander
24.03.2017
14:17:49

Alex
24.03.2017
14:17:52
да мне хоть куда
хоть в контроллер хоть в сервис
я хочу понять в какой последовательности подргужается всё приложение
и как подгружать свою логику сторонюю, не рельсовскую

Ilya
24.03.2017
14:18:06
посмотри что у тебя в $LOAD_PATH
сколько раз написать, чтобы посмотрел?)

Alexander
24.03.2017
14:18:48

Admin
ERROR: S client not available

Alexander
24.03.2017
14:18:58
и покажи config/application.rb

Alex
24.03.2017
14:21:00
# /config/application.rb
require File.expand_path('../boot', __FILE__)
require 'rails/all'
Bundler.require(*Rails.groups)
module Workspace
class Application < Rails::Application
config.active_record.raise_in_transactional_callbacks = true
config.autoload_paths << "#{Rails.root}/app"
end
end
вот так сейчас у мен
у меня

Ilya
24.03.2017
14:21:41
сервер рестартанул?

Alexander
24.03.2017
14:21:52
у меня
на всякий случай: есть функция редактирования сообщений, а код можно вставлять в блоки (как markdown)

Alex
24.03.2017
14:22:40

Alexander
24.03.2017
14:23:09
три тика ``` ?
да, как ты можешь видеть) всё правильно сделал. monospace попроще читать

Сергей
24.03.2017
14:23:15
именно
три бэктика
на строке раньше и после

Alex
24.03.2017
14:25:33
config.autoload_paths << "#{Rails.root}/app"
не помогло, не подгружается всё равно.
в класс завернул от ApplicationController унаследовал
в конфиг добавил
что еще?

Ilya
24.03.2017
14:26:40
http://guides.rubyonrails.org/autoloading_and_reloading_constants.html
читай

Alex
24.03.2017
14:27:19

Google

Alex
24.03.2017
14:27:41
Думал методом тыка разберусь что куда.

Ilya
24.03.2017
14:28:46
так а с чего ты решил, что класс у тебя должен выполнится?

Alex
24.03.2017
14:29:05
так и инстанциировал его
не просто так

Ilya
24.03.2017
14:29:09
просто проверь, задефайнена константа или нет

Alex
24.03.2017
14:29:13
я вызывал класс
ок

Ilya
24.03.2017
14:29:21
ну так
значит подгрузилось все

Alex
24.03.2017
14:29:50
класс вызывал, но ничего не печаталось в консоль

Ilya
24.03.2017
14:29:50
просто рельса не выполняет код внутри класса в этом случае

Alex
24.03.2017
14:30:12
или нужно env настравивать чтоб печаталось всё ?

Alexander
24.03.2017
14:30:24
как можно интепретировать константу без выполнения кода?

Ilya
24.03.2017
14:31:02
я хз, это рельса
сча почитаем

Alex
24.03.2017
14:31:21
буду читать доки

Alexander
24.03.2017
14:31:23
максимум — какой-нибудь свой объект по имени файла, но это странно и стрёмно
типа "lazy loading"