
Николай
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 пройтись и покоммитить файлы и строки порционно
чтобы не было коммита вида "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. Если будут какие-то экстренные пуши не по цепочке, а непосредственно в тест/продуктив - их унести в обратном направлении.

Dan
11.03.2017
15:14:29

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

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
у меня в проектах встречаются ситуации и сродни 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 - результат тот же. Отправляю постмарком. На другом проекте, все то же самое, но там все уходит и редиректит с нотис уведомлением.