2011-08-10 101 views
0

我正在使用Rails 3.1.0.rc5。我想用一對單選按鈕enabledisable以及一個輸入整數(expire_after_days,票證到期之前的天數)的字段,併爲固定參數subdomain_name設置一個隱藏字段。我希望能夠使用相同的簡單表單創建,編輯或刪除記錄,具體取決於選中哪個單選按鈕。根據單選按鈕選擇更改表單行爲

因此,如果選中enable,並且沒有找到subdomain_name的記錄,則會在表單提交時創建記錄。

如果選中enable並找到記錄,則應在表單提交時更新現有記錄。

如果選中disable,則應在表單提交時刪除該記錄。

這是一個合理的事情嗎?如果是這樣,你有什麼提示如何做到這一點?

回答

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 
+0

[編輯:沒關係,以爲這是批量更新情況] 嗯,你會如何解決它在一個理想的,寧靜的方式? AJAX調用每一個動作(或者更糟糕的是,強制每個動作刷新頁面)?想象一下,您的電子郵件別名與某個帳戶相關聯,並且想要確定哪些人收到通知。 – agnoster

+0

我想在每次瀏覽頁面時向用戶展示或多或少的相同視覺效果,並且我希望始終在同一個網址上顯示相同的視覺效果。不過,我認爲你對我現在的計劃感到不安。你能建議一個更安靜的解決方案嗎? – joanwolk

+0

我已經放棄了讓最終的URL相同的想法,而是有一個URL決定是否重定向到'new'記錄頁面或'edit'記錄頁面。現在有用於創建,更新和銷燬的單獨的控制器操作。這也意味着我不再使用單選按鈕,但我真的很感激你的意見,@ Thiago。 – joanwolk

相關問題