我正在使用Rails 3.1.0.rc5。我想要一个带有一对单选按钮enable
和disable
的表单,以及一个输入整数的字段(expire_after_days
,即票证到期前的天数),固定参数subdomain_name
的隐藏字段。我希望能够使用相同的简单表单来创建,编辑或删除记录,具体取决于选中的单选按钮。
因此,如果选中enable
,但未找到subdomain_name
的记录,则会在表单提交时创建一条记录。
如果选中enable
并找到记录,则应在表单提交时更新现有记录。
如果选中disable
,则应在表单提交时删除记录。
这是否合理?如果是这样,你有什么建议怎么做?
答案 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