2011-03-09 86 views
0

我有以下链接在我的Rails 3应用程序:Rails 3:单击链接时如何显示警告消息?

link_to("Invoice", "/jobs/#{job.id}/invoice") 

当用户点击它,应用程序显示的发票。

我想在job.price丢失时显示警告消息,询问用户是否继续。然后,只有当用户选择“是”时,才应将其重定向到发票页面。

最简单的实现方法是什么?

回答

2

这为我工作:

link_to("Invoice", "/jobs/#{job.id}/invoice", 
     :confirm => (job.price ? '' : "Job Price is missing. Continue anyway ?")) 
+0

这是否弹出一个空的确认框w /空字符串?如果它尝试使第一个三元选项“nil”代替。也许那是有效的。 – nzifnab 2011-03-09 05:37:39

+0

它不会弹出空串! – 2011-03-09 11:53:40

0

假设Prototype.js,最简单的事情可能是内联点击处理程序。内置:确认选项不起作用,因为您需要检查页面上的字段。

link_to("Invoice", "/jobs/#{job.id}/invoice", :onclick => "if($F('job_price') == '') confirm('Job price is not set. Are you sure you want to continue?');") 

可能有一百种更复杂的方式来处理这个,不显眼或任何其他。

+0

的OP发布将工作的答案,同检查页面上的字段。 – nzifnab 2011-03-09 05:31:50

1

试试这个

<%= link_to "Invoice", "/jobs/#{job.id}/invoice", :onclick => "#{ "confirm('The job price is missing, are you sure you want to continue?')" if job.price.nil? } %> 

希望这是你在找什么。祝你好运!

+0

这些答案是非常不轨-Y。你为什么要定义你自己的onclick处理程序,当Rails3给你不引人注意的JavaScript方式免费这样做;) – nzifnab 2011-03-09 05:29:26