Ruby on rails 指向单个控制器操作的多个按钮

Ruby on rails 指向单个控制器操作的多个按钮,ruby-on-rails,pdf,jpeg,button-to,Ruby On Rails,Pdf,Jpeg,Button To,我正在制作一个应用程序,用户可以打印PDF或JPG格式的文件,分别使用WickedPDF和imgkit。 我有两个按钮,一个用于PDF,另一个用于JPG。是否可以让这些按钮指向控制器中的“创建”相同操作。 我的钮扣是一样的- <%= button_to "Print Bill[PDF]", :action => "create" %> <%= button_to "Print Bill[JPG]", :action => "new" %> “创建”%> “

我正在制作一个应用程序,用户可以打印PDF或JPG格式的文件,分别使用WickedPDF和imgkit。 我有两个按钮,一个用于PDF,另一个用于JPG。是否可以让这些按钮指向控制器中的“创建”相同操作。 我的钮扣是一样的-

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

<%= button_to "Print Bill[JPG]", :action => "new" %>
“创建”%>
“新”%>
我可以让这两个动作都创建吗?
若有,原因为何?如何捕捉被点击的按钮并呈现相应的视图。

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

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

作为最后一步,我会将
按钮改为
链接改为
链接,并将链接设置为按钮,但这更多是个人偏好。

@victorkohl感谢编辑只是想补充一点,为了使PDF格式正常工作,您必须将其mime类型添加到
配置/初始化器/mime_types.rb
文件中,例如:
Mime::Type.register“application/pdf”,:pdf
@victorkohl:非常好的观点!我只是假设用户已经对PDF和JPEG的生成进行了分类,并且正在寻找将其整合到单个控制器方法中的方法……PDF格式本身就可以工作,我只是在通过单个操作使它们都可以工作。
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