@rubylang

Страница 1111 из 1684
Fedor
10.07.2017
08:39:37
я сейчас у себя посмотрел: = f.fields_for :typical_mistakes do |tmf| = tmf.text_field :title = tmf.text_field :wrong_answer params.require(:task).permit(... typical_mistakes_attributes: [ :id, :title, :wrong_answer] ) class Task < ApplicationRecord has_many :typical_mistakes accepts_nested_attributes_for :typical_mistakes, allow_destroy: true end class TypicalMistake < ApplicationRecord belongs_to :task end `

Так что, все таки множественное число нужно, а не единственное

и еще надо в подели проверить, что бе belongs_to с единственным числом, а has_many - со множественным

Nikita
10.07.2017
08:40:44
хм, а почему форма то не создается??

Google
Nikita
10.07.2017
08:40:52
так и есть...

Fedor
10.07.2017
08:41:01
надо ошибки смотреть

при ее создании

Nikita
10.07.2017
08:41:32
я же говорю - ошибок в сервер логе нет, а .errors выдает ошибки только на саму модель!

Fedor
10.07.2017
08:41:56
при рендере вьюхи с формой

либо она должна появится, либо выпадет ошибка

либо в лог рельсы, либо в лог js

Nikita
10.07.2017
08:47:50
сейчас буду искать, спасибо за наводки

@FedorKoshel <%= f.fields_for :locations do |ff| %> <%= ff.text_field :address, placeholder: 'Address', required: true, class: 'input-lg form-control left-icon' %> <%= ff.hidden_field :latitude, id: 'latitude' %> <%= ff.hidden_field :longitude, id: 'longitude' %> <% end %>

форма для нестед же ок создается?

Fedor
10.07.2017
08:55:42
у меня создается, без проблем

Nikita
10.07.2017
08:56:03
не понимаю, в логе js никаких ошибок

Антон
10.07.2017
09:05:07
локейшина нет - нет формы

Google
Антон
10.07.2017
09:05:39
нужно предварительно делать кто_там_у_тебя.locations.new

чтобы объект для формы был

или build

f.fields_for :locations, object.locations.new do |ff|

так чтоли

забываю всегда, погугли

Fedor
10.07.2017
09:11:56
Кстати да!

Я то использую bootstrap_nested_forms, он создает кнопку "add_element", поэтому у меня такой проблемы и нет уже давно

Nikita
10.07.2017
09:18:49
@mover = Mover.new mover_params @mover.locations.build

я так делаю

Fedor
10.07.2017
09:20:10
не, это надо в контроллере new сделать, перед рендером формы

Nikita
10.07.2017
09:21:25
очевидно же)

Антон
10.07.2017
09:23:16
ну тогда вмешивается что-то не очевидное

например ты с телефону, а компьютер вовсе выключент

Nikita
10.07.2017
09:24:30
))

Fedor
10.07.2017
09:24:37
а в create build уже не нужен, там nested_attributes сами должны объект созавать нормально

@mover = Mover.new mover_params @mover.locations.build
Если это не create, а new, то откуда у тебя там mover_params? )

Nikita
10.07.2017
09:28:32
https://gist.github.com/n-n1ks/f306a0a5edafdfbb17b9e37f0bf021a3

у меня вот так

но вот так - мувер без проблем создается, и не ругается на валидацию :location

Google
Nikita
10.07.2017
09:30:14
mover_id ?

@vskopuk

v
10.07.2017
09:30:27
просто id

Nikita
10.07.2017
09:31:04
location_attributes: [:id, :address, :longitude, :latitude] вот так?

v
10.07.2017
09:31:11
да

Nikita
10.07.2017
09:31:17
щас протестирую

да пофиг, просто создается и все

Fedor
10.07.2017
09:31:47
выглядит вроде нормально

Nikita
10.07.2017
09:31:53
даже не смотря на то, что location валидация не проходит НИХЕРА

Vasiliy
10.07.2017
09:34:12
а у тебя Mover валидный?

и всё что у него belongs_to?

Nikita
10.07.2017
09:34:42
дак Mover создается)

Fedor
10.07.2017
09:34:43
id нужен только при обновлении, иначе он всегда будет новых создавать )

при создании его еще нет

http://guides.rubyonrails.org/form_helpers.html#nested-forms

Nikita
10.07.2017
09:34:54
а Location - нет

ojab
10.07.2017
09:35:14
Из консоли если сделать Mover.create!(locations_attributes: []) и вписать всё нужное — создаётся? В locations_attributes массив передаёшь?

Fedor
10.07.2017
09:35:29
а выложи весь код на гист

в смыле, вьюху, модель и контроллер целиком

Google
Fedor
10.07.2017
09:35:29
а то мы тут гадаем на кофейной гуще

Nikita
10.07.2017
09:35:43
сек

Vasiliy
10.07.2017
09:35:47
чет с нестедами никогда проблем не было

Nikita
10.07.2017
09:36:07
но я так подозреваю, что нужно ведь проверять не только @mover.save

но и @mover.locations.first.save ?

Fedor
10.07.2017
09:36:22
к ним надо привыкнуть )

Nikita
10.07.2017
09:36:26
https://gist.github.com/n-n1ks/f306a0a5edafdfbb17b9e37f0bf021a3#file-nested-rb-L9

вот здесь

или я не прав?

что-то у меня уже пригорает

Admin
ERROR: S client not available

Fedor
10.07.2017
09:38:31
помоему нет

хотя я точно не помню, но nested_attributes вроде умеют валидироваться в рамках родительской модели

ты про pry знаешь?

воткни у себя в create в самом начале binding.pry

прогони создание, окажешься с открытой консолью посреди выполнения метода

Vasiliy
10.07.2017
09:39:51
да кстати, оно ошибки для детей возвращает

Fedor
10.07.2017
09:39:54
и просто фигани в модель те параметры что у тебя есть

и посмотри, что будет

Vasiliy
10.07.2017
09:40:17
если проект свой то выложи ты его на гитхаб весь

Google
ojab
10.07.2017
09:41:15
а лучше перечитай моё прошлое сообщение

Fedor
10.07.2017
09:42:43
и параметры можно посмотреть прям в процессе

и ошибки

ну только gem 'pry' нужен еще )

Nikita
10.07.2017
09:43:18
https://gist.github.com/n-n1ks/5654e609477c311830421a354e072a89

ojab щас сделаю

мда гайз

location_attributes: [:id, :address, :longitude, :latitude])

а может все таки locations?

а мб я просто ебал всем мозги час из-за 1 ебаной буквы?

и по всей видимости - как оказалось, да

и сразу fields_for :locations заработало...

Fedor
10.07.2017
09:48:35
ну да

соглашения важнее конфигов...

в принципе к этому надо просто привыкнуть )

все по началу страдают

Nikita
10.07.2017
09:49:05
ну это просто пездос

я сидел ломал голову

искал какие-то подводные камни

а все было вот, прям перед глазами

Fedor
10.07.2017
09:49:51
а ты создавай модели и контроллеры вручную, а не генераторами )

привычка появится следить за окончаниями слов

Страница 1111 из 1684