Rails submit_to_remote не может POST - PullRequest
       5

Rails submit_to_remote не может POST

0 голосов
/ 14 апреля 2010

Я пытаюсь вложить форму в другую, используя submit_to_remote , но вместо POST выполняется PUT. Кто-нибудь может объяснить, что здесь не так?

Маршруты RESTful:

map.resources :thing
map.resources :item

Вид такой:

<% form_for(@thing) do |f| %>
  <% fields_for(Item.new) do |i| %>
    <%= i.text_field :name %>
    <%= submit_to_remote 'create', 'Create', :url => items_path, :method => "post" %>
  <% end %>
  <%= f.text_field :title %>
  <%= f.submit 'Update' %>
<% end %>

Чтобы обойти эту проблему, я добавил еще один метод в restful-маршруты для создания на PUT, но это уродливо, и я хочу знать, в чем проблема.

submit_to_remote выглядит как:

<input name="create" onclick="new Ajax.Request('/items', {asynchronous:true, evalScripts:true, method:'post', parameters:Form.serialize(this.form) + '&amp;authenticity_token=' + encodeURIComponent('blah')});" type="button" value="Create">

Спасибо

1 Ответ

0 голосов
/ 14 апреля 2010

Как насчет использования link_to_remote и стилизации ссылки как «кнопки», или просто оставьте ее как ссылку, было бы хорошо, если честно. Таким образом, вы можете полностью контролировать XmlRequest. В настоящее время я думаю, что метод определяется вашей фактической формой, отправляемой JS, а не: методом, указанным вами при вызове помощника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...