根据单选按钮选择更改提交时的表单行为

时间:2011-08-10 17:15:33

标签: ruby-on-rails radio-button

我正在使用Rails 3.1.0.rc5。我想要一个带有一对单选按钮enabledisable的表单,以及一个输入整数的字段(expire_after_days,即票证到期前的天数),固定参数subdomain_name的隐藏字段。我希望能够使用相同的简单表单来创建,编辑或删除记录,具体取决于选中的单选按钮。

因此,如果选中enable,但未找到subdomain_name的记录,则会在表单提交时创建一条记录。

如果选中enable并找到记录,则应在表单提交时更新现有记录。

如果选中disable,则应在表单提交时删除记录。

这是否合理?如果是这样,你有什么建议怎么做?

1 个答案:

答案 0 :(得分:1)

让所有3个动作(创建,更新,破坏)在一个控制器方法中变得狭窄是不理想也不宁静的,但是如果你想继续这条肮脏的路线,那么你可以做的就是:

def my_dirty_method
  if params[:enable].present?
    if params[:subdomain_name].present?
      # Edit subdomain
    else
      # Create subdomain
    end
  end
  if params[:disable].present?
    # Delete subdomain
  end