@rubyschool

Страница 102 из 921
Николай
11.03.2017
11:41:01
подскажите, если я делаю class Account < ActiveRecord::Base has_many :users, dependent: :destroy has_many :cargo, :through => :users, dependent: :destroy

как мне получить эти cargo через user?

наверное, непонятно объяснил...

вообще проблема такого характера - через tux вот этот код работает идеально - @new_lot = Cargo.create params[:item] @new_lot.update user_id: session[:user_id] @x = Account.find_by 'id=?', session[:account_id] y = @x.cargos + 1 @x.update cargos: y а через приложение ни в какую... делаю проверку - if @new_lot.save erb "Груз #{@new_lot.title} добавлен, #{@x.users.count} — #{@x.cargos} — #{y}" end показывает увеличение @x.cargos на 1, но в базу не добавляет... как было 0, так и осталось... почему так, кто подскажет?

Google
Vladislav
11.03.2017
11:57:28
Radzhab
11.03.2017
11:58:19
Владислав, у меня в permit неправильно была указано имя поля

вместо username user написал

большой минус саблайм в том что автодополнение тут так себе

кто то спрашивал про хороший гит gui



gitcracken

https://www.gitkraken.com/

Alex
11.03.2017
14:38:42
git gui куда катится этот мир )

Radzhab
11.03.2017
14:39:13
А что плохого в этом

Оно ж для анализа и облегчения

А не для того чтобы коммиты выполнить

Alex
11.03.2017
14:40:54
за визуализацией я захожу на гитлаб )

Google
Alex
11.03.2017
14:41:21
а пуш, комит, пулл, чекаут можно и в консоли выполнить )

Radzhab
11.03.2017
14:41:58
Гитлаб платный не?

Alex
11.03.2017
14:42:18
бесплатный, поэтому и сижу там. а еще там проект бесплатно можно делать приватным

Nikolay
11.03.2017
14:42:24
Гитлаб это сервер

Vitaliy
11.03.2017
14:52:34
а пуш, комит, пулл, чекаут можно и в консоли выполнить )
в gui удобнее коммитить отдельные файлы и строки в файлах

т.е. можно выполнить пачку изменений, и потом в gui пройтись и покоммитить файлы и строки порционно

чтобы не было коммита вида "Make some things, Also fix bug1 and bug2, Also refactor files, Also"

Radzhab
11.03.2017
14:56:35
Виталий как раз вопрос. Есть две ветки. Dev и master. Как изменить ветку по умолчанию

У меня щас master

Хочу в dev грузить

Vitaliy
11.03.2017
14:57:35
в гитхабе/гитлабе? в settings репозитория там

Radzhab
11.03.2017
14:57:47
Битбакет

Vitaliy
11.03.2017
14:57:53
думаю аналогично



в Repository details

Radzhab
11.03.2017
14:59:49
Хм. Я думал я сам могу определить через консоль ветку в которую грузить

Vitaliy
11.03.2017
15:00:13
грузить что, пул-реквесты на битбакете?

Radzhab
11.03.2017
15:00:22
Да

Vitaliy
11.03.2017
15:00:29
это зона ответственности уже битбакета, не гита

т.е. если у битбакета есть cli-утилита - то да, наверное через нее можно. но не через просто git

Google
Vitaliy
11.03.2017
15:01:46
в гите нет понятия главной ветки. любую ветку можно мержить в любую

и на любую чекаутиться

Radzhab
11.03.2017
15:03:07
Thx

Alex
11.03.2017
15:13:51
О, раз речь зашла о гите. Может кто подскажет, как там лучше организовать такую цепочку: 1. Разработчики пушат в дев-репозиторий. 2. Вытягиваем частично или полностью в тестовую систему, там выполняем эталонное тестирование. 3. Вытягиваем всё в продуктив. 4. Если будут какие-то экстренные пуши не по цепочке, а непосредственно в тест/продуктив - их унести в обратном направлении.

Alex
11.03.2017
15:19:50
Спасибо.

Ну или вариант, что может есть какой-то более удобный способ добиться того же.

Dan
11.03.2017
15:20:52
сейчас планируем разворачивать как раз что-то похожее. гит, автотесты, автосборку, и автодеплой. и всё чтобы на автомате.

А дженкинс это один из самых удобных способов

есть еще teamcity

Alex
11.03.2017
15:22:27
Просто я по-настоящему "ин тим" работал только в сапе, а там сама система является репозиторием, а "запросы на изменение" таскаются между системами.

О. Ещё вспомнил вопрос. Где-то видел команды seeds для генерации тестовых данных в системе. Их можно организовать так же, как миграции дб? Чтоб каждая один раз в каждой базе выполнялись, даже если команду много раз вызывать.

Alex
11.03.2017
15:41:11
Или наверное проще в самих миграциях тоже самое и сделать.

Vitaliy
11.03.2017
15:42:10
Можно и так, и так, зависит от задачи

Denis
11.03.2017
15:42:32
Никто не сталкивался с такой проблемой?: Запускаю: RAILS_ENV=production bundle exec rake assets:precompile Процесс останавливается с ошибкой: rake aborted! ExecJS::ProgramError: TypeError: args[i]._walk is not a function. (In ‘args[i]._walk(visitor)’, ‘args[i]._walk’ is undefined) Никто не сталкивался? Пробовал почистить: RAILS_ENV=production bundle exec rake assets:clean RAILS_ENV=production bundle exec rake tmp:cache:clear RAILS_ENV=production bundle exec rake assets:precompile не помогает.

Vladislav
11.03.2017
15:44:04
Судя по всему у тебя run-time исключение выходит. Поищи в каком это файле

Radzhab
11.03.2017
15:45:24
через rails g создал контроллер rails g controller admin/sessions

он не создал папку sessions

а сразу в папке admin создал sessions_controller

создал ручками папку sessions

Google
Radzhab
11.03.2017
15:46:18
и туда пихнул этот контроллер

выходит routing error\

Vitaliy
11.03.2017
15:46:54
Но он создал все правильно

Radzhab
11.03.2017
15:47:22
ну хотелось бы для каждого подконтроллера создавать свой контроллер

будет ли это по феншую?

Vitaliy
11.03.2017
15:48:01
Что вы хотите получить, и главное - зачем?

Denis
11.03.2017
15:48:36
Судя по всему у тебя run-time исключение выходит. Поищи в каком это файле
самео смешно, что когда я запустил с --trace, то все прошло успешно. Хотя до этого я несколько раз запускал и с трейс и без него, результат был одинковый - ошибка.

Radzhab
11.03.2017
15:48:58
Виталий, хочу в папке admin создать sessions

Admin
ERROR: S client not available

Radzhab
11.03.2017
15:49:05
а в нем session controller

Vitaliy
11.03.2017
15:49:13
Хорошо. Зачем?

Radzhab
11.03.2017
15:49:36
видел в туториале такое. А равзе это некорректно?

создал папку sessions

в нем же храню хелперы там

и т.д

в данный момент у меня неймспейс

class Admin::ModeratorsController<ApplicationController

скорее всего это ему не нравится

как правильно прописать его?

Google
Vitaliy
11.03.2017
15:51:29
видел в туториале такое. А равзе это некорректно?
Это должно быть оправдано задачей. Вообще по иерархии есть прекрасная статья: https://habrahabr.ru/post/136461/

у меня в проектах встречаются ситуации и сродни admin/sessions_controller.rb, и сродни admin/sessions/sessions_controller.rb. Они дают разные плюсы и минусы.

Alexander
11.03.2017
17:19:45
Спасибо, статься интересная, оссобенно комменты)

Radzhab
11.03.2017
17:51:23
подскажите плиз

есть метод

def user_is_logged_in? !!session[:user_id] end

как его использовать во вьюхе?

пробую вот так <% if user_is_logged_in? %>

<% if user_is_logged_in? %> <%= link_to 'Log out', logout_path %> <% end %>

https://snag.gy/IPdX6u.jpg

сжимает че то телеграмм

Vitaliy
11.03.2017
17:56:54
метод объявлен в контроллере?

если да, то в этом же контроллере нужно написать helper_method :user_is_logged_in?

тогда метод контроллера станет доступен во вьюхах

Radzhab
11.03.2017
17:59:21
сжимает че то телеграмм
) Еще раз спасибо Виталий!

Denis
11.03.2017
18:01:39
И мне тогда помогите позязя. После успешной отправки email (письмо приходит) не происходит редирект на указанный путь (root_url). Redirected to http://www.mydomaine .com/ app[web.1]: Completed 302 Found in 371ms (ActiveRecord: 4.0ms)

controller: ContactMailer.new_contact(@contact).deliver format.html { redirect_to root_url, status: 302, notice: 'Спасибо за Ваше сообщение. Я обязательно отвечу, как только смогу.' } format.json { render :show, status: :created, location: @contact }

в чем может быть проблема?

Совсем нет идей? Почему статус 302, а не 200

Vladislav
11.03.2017
18:11:58
пробовал root_path?

В конце еще можно добавить and return

Denis
11.03.2017
18:15:08
скажем так, он там изначально был, изменил на root_url - результат тот же. Отправляю постмарком. На другом проекте, все то же самое, но там все уходит и редиректит с нотис уведомлением.

Страница 102 из 921