Size: a a a

2019 March 06

NT

Nikolay Turnaviotov in Random Ruby Chat
угадай с трех раз почему не будет работать
источник

AP

Alex Poznyak in Random Ruby Chat
Угадай с 3х раз почему оно работает на другой странице?
источник

AP

Alex Poznyak in Random Ruby Chat
def bulk_destroy
   current_company.trucks.where(id: params[:ids]).left_joins(:crews).where(crews: { truck_id: nil }).destroy_all
   trucks_with_crew = current_company.trucks.where(id: params[:ids])
   return head :no_content if trucks_with_crew.empty?
   render json: { message: "Trucks: '#{trucks_with_crew.pluck(:name).join(', ')}' can't be deleted because used by crews." }, status: :unprocessable_entity
 end
Вот такое работает :)
источник

RV

Roman V in Random Ruby Chat
Nikolay Turnaviotov
where(id: тут_строка) а ты вваливаешь массив
иди документацию перечитай к AR
источник

RV

Roman V in Random Ruby Chat
Alex Poznyak
current_company.payment_types.where(id: params[:ids]).left_joins({ payment_settings: :clients }).where(payment_settings: { payment_type_id: nil }).destroy_all
Где я ошибся? ^

payment_type.rb
 has_many :payment_settings, class_name: 'ClientPaymentSetting', dependent: :destroy
 has_many :clients, through: :payment_settings
дебажь по частям, смотри на каком шаге аутпут не тот которого ждешь
источник

RV

Roman V in Random Ruby Chat
проверяй аргументы
источник

AP

Alex Poznyak in Random Ruby Chat
Roman V
дебажь по частям, смотри на каком шаге аутпут не тот которого ждешь
Та дебажу) Просто мозгов не хватает =(
источник

RV

Roman V in Random Ruby Chat
ну ты поставь себя на место отвечающего на твой вопрос и подумай как ты сам на него отвечал бы
источник

RV

Roman V in Random Ruby Chat
откуда нам знать что тебе в запросе не нравится
источник

AP

Alex Poznyak in Random Ruby Chat
Can't join 'ClientPaymentSetting' to association named 'clients'; perhaps you misspelled it?
источник

NT

Nikolay Turnaviotov in Random Ruby Chat
Roman V
иди документацию перечитай к AR
хм. внезапно...
источник

RV

Roman V in Random Ruby Chat
что ты уже сделал
источник

RV

Roman V in Random Ruby Chat
Alex Poznyak
Can't join 'ClientPaymentSetting' to association named 'clients'; perhaps you misspelled it?
какие ассоциации в модели этой? CPS которая
источник

NT

Nikolay Turnaviotov in Random Ruby Chat
Alex Poznyak
Та дебажу) Просто мозгов не хватает =(
ну, декомпозия сложных запросов на кусочки это раз. второе - я бы за такую простыню по ручкам давал. ибо сложночитаемо
источник

RV

Roman V in Random Ruby Chat
и попробуй с названиями таблиц а не ассоциаций то же самое
источник

AP

Alex Poznyak in Random Ruby Chat
create_table "client_payment_settings", force: :cascade do |t|
   t.bigint "client_id"
   t.bigint "payment_type_id"
   t.decimal "rate"
   t.datetime "created_at", null: false
   t.datetime "updated_at", null: false
   t.index ["client_id"], name: "index_client_payment_settings_on_client_id"
   t.index ["payment_type_id"], name: "index_client_payment_settings_on_payment_type_id"
 end

Вот схема, а связи:
class ClientPaymentSetting < ApplicationRecord
 belongs_to :client
 belongs_to :payment_type

 validates_presence_of :client, :payment_type, :rate
end
источник

AP

Alex Poznyak in Random Ruby Chat
Ок, щас поразбираюсь)
источник

RV

Roman V in Random Ruby Chat
ну ты джоинишь clients а он у тебя один
источник

RV

Roman V in Random Ruby Chat
joins(payment_settings: [:client])
источник

RV

Roman V in Random Ruby Chat
но тут еще другой вопрос, нахуя ты джоинишь clients если в запросе не обращаешься к ним?
источник