我正在创建一个应用程序,用户可以分别使用wicked-pdf和imgkit打印PDF或JPG格式的文档。 我有两个按钮,一个用于PDF和其他JPG。是否可以让这些按钮指向控制器中的相同动作,这是“创建”。 我的按钮是 -
<%= button_to "Print Bill[PDF]", :action => "create" %>
<%= button_to "Print Bill[JPG]", :action => "new" %>
我可以创建两个动作吗? 如果是的话,怎么样?如何捕获哪个按钮并呈现相应的视图。
答案 0 :(得分: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_to
更改为link_to
并将您的链接设为一个按钮,但这更多是个人偏好。