рельсы условной формы / remote_form - PullRequest
3 голосов
/ 04 июня 2010

У меня есть частичная форма, которая должна отображать remote_form_for или form_for в зависимости от значения локальной переменной, переданной в нее из представления вызывающей стороны. Похоже ...

<% if ajax  %>
  <% remote_form_for @search, :url => {:action => :search_set, :controller => :searches, :stype => stype} do |f| %>
  <% else %>
    <% form_for @search, :url => {:action => :search_set, :controller => :searches, :stype => stype} do |f| %>
    <% end  %>

Очевидно, что я получаю синтаксическую ошибку около <% else%>, потому что ожидаем «конец».

Как правильно это сделать?

1 Ответ

2 голосов
/ 04 июня 2010

вы можете сделать вспомогательный метод

def form_or_remote_form_for object, *opts, &proc
  if ajax
    remote_form_for object, *opts, &proc
  else
    form_for object, *opts, &proc
  end
end

и тогда, по вашему мнению, это будет просто

<% form_or_remote_form_for @search, :url => {:action => :search_set, :controller => :searches, :stype => stype} do |f| %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...