ОБНОВЛЕНО ...
У меня проблемы с отправкой формы в ajax. не уверен, что это проблема маршрутизации или, возможно, проблема UJS. (используя jquery 1.6.1 и самые последние jquery-ujs)
это сгенерированный html для формы действия создания
<form method="post" id="new_product_pressing" data-remote="true" class="simple_form product_pressing" action="/products/my_product_id/product_pressings" accept-charset="UTF-8">
<input type="hidden" value="✓" name="utf8">
<input type="hidden" value="blablablatokenblablabla" name="authenticity_token">
<label for="product_pressing_total_pressed">Total pressed</label>
<input type="text" size="5" required="required" name="product_pressing[total_pressed]" id="product_pressing_total_pressed"
<input type="submit" value="Create Pressing" name="commit" id="product_pressing_submit">
</form>
форма действия обновления также действительна, но, вероятно, избыточна для публикации
мои маршруты:
resources :products, :shallow => true do
resources :product_pressings, :as => :pressings, :only => [:create, :update]
end
product_pressings POST /products/:product_id/product_pressings(.:format) {:action=>"create", :controller=>"product_pressings"}
pressing PUT /product_pressings/:id(.:format) {:action=>"update", :controller=>"product_pressings"}
для действия создания ... журнал показывает:
Started POST "/products/product-057/product_pressings" for 127.0.0.1 at...
Processing by ProductPressingsController#create as JS
Parameters: {"product_id"=>"my_product_id"}
если я удалю значение true, параметры "product_pressing"=>{}
будут переданы, но не с помощью: remote => true.
для обновления ...
Started POST "/product_pressings/4e01ad24e1607cc46100008e" for 127.0.0.1 at...
ActionController::RoutingError (No route matches "/product_pressings/4e01ad24e1607cc46100008e"):
выдает ошибку маршрутизации, даже если она показывает точный URL и метод как без remote => true. это работало, и я не уверен, когда это прекратилось, но я не понимаю, что могло вызвать такое поведение.