0

我正在开发一个 Rails 应用程序,我有一个表单,我想根据条件更改方法(:put vs :post)params[id].to_s.present?:. 这是我的尝试,但无论我做什么,我都会遇到各种错误:

<%= form_tag( country_pend_create_path(), "#{params[:id].to_s.present? ? ':method => :put' : ':method => :post'}", :class => 'form-horizontal') do %>

知道我知道form_for()自动执行此目的,但我不能也不想form_for()用于此表格。关于如何让它发挥作用的任何想法?

4

2 回答 2

1

你可以简单地写成:

<%= form_tag( country_pend_create_path(), :method => params[:id].present? ? :put : :post, :class => 'form-horizontal') do %>
于 2012-08-27T00:33:45.220 回答
0

尝试使用lambda

<%= form_tag( country_pend_create_path(), :method => lambda { params[:id].present? ? :put : :post }, :class => 'form-horizontal') do %>

(我删除了,to_s因为我认为它不会改变任何东西,如果它很重要,请将其添加回来。)

于 2012-08-26T23:53:53.370 回答