2011-06-14 99 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']

相关问题