2011-03-09 75 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