rails条件形式/ remote_form

时间:2010-06-04 17:11:32

标签: ruby-on-rails

我有一个表单partial需要呈现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  %>

显然,我在&lt;%else%&gt;附近遇到语法错误,因为它期望“结束”。

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

你可以制作一个辅助方法

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| %>