条件表单发布URL的simple_form_for

时间:2014-02-21 11:39:27

标签: ruby-on-rails simple-form

我有2个表格,都使用信用卡处理,这意味着他们都有相同的结账流程。这些结账表格在这两种表格中都是部分的。

所以我想要实现的是在simple_form_for标记中有一个条件POST URL语句,如下所示

<%= simple_form_for :order, url: task_path(params[:task_id], params[:id] if condition else something_else ) do |f| %>

是否有可能在Rails中实现这一目标。

1 个答案:

答案 0 :(得分:2)

在调用form_for:

之前先计算网址
<%
  if <some condition>
    url = "/some/url"
  else
    url = "/another/url"
  end
%>
<%= simple_form_for :order, url: url do |f| %>

这更容易理解/更改。

更新:因为form_for已经有两个url选项,具体取决于相关对象是否已被保存(即.new_record的值?),那么你可能需要让你的if-else逻辑也考虑到这一点。