替代_path

时间:2015-09-16 14:37:36

标签: ruby padrino pdfkit

我正在关注railscast(http://railscasts.com/episodes/220-pdfkit)的教程,并在尝试实现PDF链接时遇到困难。原始代码是:

<p id="pdf_link"><%= link_to "Download Invoice (PDF)", order_path(@order, :format => "pdf") %></p>

然而我正在使用haml,所以我按如下方式编辑了这行:

= link_to 'Download PDF', order_path(@order, :format => "pdf")

我已经意识到order_path与routes.rb中指定的路由有关。问题是我的应用程序没有路径文件夹(从另一个开发人员继承了该应用程序)。因此,我将如何在haml代码中创建此路径。

我也想知道更换@order。在查看代码时,我注意到它被声明为这样。有人可以解释这段代码声明的顺序是什么吗?

@order = Order.find(params[:id])

1 个答案:

答案 0 :(得分:2)

Rails中的路由在config/routes.rb文件中声明。看看this guide了解更多信息。

order_path是rails声明路由时为您提供的帮助方法。您可以通过在应用程序根文件夹中运行rake routes命令来查看这些路由别名。

关于这一行:

@order = Order.find(params[:id])

这将尝试使用请求参数中传递的id从数据库中获取Order。有关详细信息,请参阅this guide

我的建议,请阅读整个Rails Guide,以便了解您在处理什么。

相关问题