Удаленная форма Rails 3 выполняется без вызова действия контроллера - PullRequest
0 голосов
/ 26 января 2012

У меня есть страница с несколькими формами, созданными вот так

<% arr.each do |obj| %>
    <%= form_tag('/addjobs', :class => "class", :method => "post", :remote => true) do %>
        # Field Tags
        <%= submit_tag("add!") %>
    <% end %>   
<% end %>

И действие в моем "главном" контроллере, называемое addjobs, выглядит следующим образом

def addjobs
   puts "adding jobs"
end

Мои маршруты совпадают.

match '/addjobs' => 'main#addjobs'

У меня также есть привязки jquery к каждой форме, которые заставляют форму исчезать при успехе ajax. Когда я нажимаю кнопку отправки на любом из них, форма исчезает (ajax преуспел), параметры его отправки появляются в моих журналах, но не похоже, что addjobs когда-либо вызывается («добавление заданий» отсутствует в журналах моего сервера) ). Есть идеи?

Ответы [ 2 ]

0 голосов
/ 14 августа 2012

Попробуйте это:

<%= form_tag url_for(:controller => 'main', :action => :addjobs), :remote => true do %>
    #field tags
<% end %>

Опция: remote => true заставляет Rails динамически отправлять запрос с AJAX, вызывая метод: valider в контроллере 'controller_name'.

0 голосов
/ 26 января 2012

puts печатает в консоли, а не в журналах сервера

Используйте logger.info для печати журналов сервера (в зависимости от уровня журнала в вашей среде)

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