2015-04-12 41 views
2

我正在製作一個應用程序,用戶可以分別使用wicked-pdf和imgkit以PDF或JPG格式打印文檔。 我有兩個按鈕,一個用於PDF和其他JPG。是否有可能讓這些按鈕指向在這裏是'創建'的控制器中的相同動作。 我的按鈕是 -指向單個控制器的多個按鈕動作

<%= button_to "Print Bill[PDF]", :action => "create" %> 

<%= button_to "Print Bill[JPG]", :action => "new" %> 

我可以同時創建這兩個操作嗎? 如果是的話,怎麼樣?如何捕獲哪個按鈕被擊中並呈現相應的視圖。

+0

@victorkohl感謝您的編輯 – Niyanta

回答

1

首先,通常建議使用路由幫助程序,而不是指定控制器和操作。所以,你的代碼可能是

<%= button_to "Print Bill[PDF]", bill_print_path(@bill, format: :pdf) %> 
<%= button_to "Print Bill[JPG]", bill_print_path(@bill, format: :jpeg) %> 

,並在控制器

def print 
    # insert here code to find your bill and load it from DB 
    respond_to |format| do 
     format.jpeg do 
      # code to produce the jpeg version of the bill 
     end 
     format.pdf do 
      # code to produce the pdf version of the bill 
     end 
    end 
end 

最後一步我會改變button_tolink_to和風格你作爲一個按鈕鏈接,但更多的是個人的喜好。

+0

只是想補充一點,爲了使PDF格式起作用,您必須將其MIME類型添加到'config/initializers/mime_types.rb'文件中,例如:'Mime: :Type.register「application/pdf」,:pdf'。 – victorkohl

+0

@victorkohl:非常好的一點!我只是假設用戶已經整理出了PDF和JPEG的一代,並且正在尋找方法將其整合到一個單一的控制器方法中... –

+0

PDF格式本身在起作用,我只是在照顧製作他們都通過單一行動工作。 – Niyanta

相關問題