Ajax_indicator
закроется через 10 сек Frontend_notifier_close_notification_ico
На сервере произошла ошибка. Мы уже уведомлены об этом и скоро разберемся.
Мы учим полезным скиллам
Вы не залогинены. Чтобы быстро подписываться на интересующие разделы и задавать вопросы в Q/A вам нужно войти или зарегистрироваться.

Ruby On Rails -> вопросы

Upvote Upvote_done
0
Downvote Downvote_done

submit в form_for для вложенных маршрутов

задал nazgul 3 месяца назад
Доброго времени суток.
Проблема в следующем:
Имею две модели связанные Market и Productresources :markets do
  resources :products
end
В markets/show.html.slim делаю "ссыль" на добавление нового товара:= link_to 'Add Product for market', new_market_product_path(@market) (имею ссылку /market/:id/product/new)Во вьюхе products/new.html.slim рендерится форма. В ней в form_for делаю так:= form_for ([@markets, @product]) do |f|На данном этапе внешне все замечательно.Заполняю форму, кликаю по submit 'Save' получаю: "Market was successfully created." Т.е. создается новый магазин, но не товар в этом магазине. Консолька честно сообщает об этом же:
Started POST "/markets" for 127.0.0.1 at 2013-05-20 15:26:57 +0400
Processing by MarketsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"nhZB/1IQk1DoFs6fE5DdWy3hh7vW8Bn1lTEuv836+yU=", "market"=>{"title"=>"test product", "description"=>"test product descp"}, "commit"=>"Save"}

Вопрос - почему, и как в случае вложенных маршрутов должен формироваться form_for?
Преждем чем вы сможете написать ответ, вы должны зарегистрироваться или войти.

Ответы:

Upvote Upvote_done
2
Downvote Downvote_done
Correct_answer_done
ответил antvinogradov 3 месяца назад
У тебя вложенные ресурсы.
Поэтому во вьюхе (паршеле) попробуй сделать так
form_for ([@product.market, @product]) do |f|

Вообще еще хотелось бы посмотреть на твои экшены в контроллере для #create

Комментарии к этому ответу:

Проверил контроллер более тщательно, действительно дело в нем. Опечатка в экшене new. Проблема устранена. Спасибо за помощь.

— написал nazgul