2015-04-12 60 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