2011-06-14 44 views
6

我正在嘗試向我的應用添加一個「預覽」按鈕/頁面。是否有可能將值添加到在params中傳遞的提交按鈕?

有沒有辦法給我的「發佈」和「預覽」提交按鈕添加一個不同的值,這些按鈕在params散列中傳遞,以便我可以檢查控制器中按下哪個按鈕並相應地呈現視圖?

這是最好的方法嗎?

回答

8

params哈希鍵,然後訪問您的控制器的動作只是一個元素的name值。

如果你有一個名爲「提交」兩個按鈕,一個用value="post"value="preview",那麼你可以這樣做:

if params[:submit] == "preview" 
+1

這個解決方案要好得多。我不知道你可以做到這一點。 – 2011-06-14 18:42:25

+1

只需發短信並且完美地工作。謝謝! – Jon 2011-06-14 18:48:56

3

您可以添加一個JavaScript按鈕點擊事件,將填充一個隱藏的值,並將它與其餘的參數一起傳遞。如果使用jQuery:

$("#post_button").click(function() { 
    $("#form_action").val("post"); 
}); 

$("#preview_button").click(function() { 
    $("#form_action").val("preview"); 
}); 

你會使用params['form_action']

相關問題