在RoR中定义命名路由?

时间:2013-08-15 17:10:12

标签: ruby-on-rails

我在网上看到了大量的命名路由示例,但我很难找到它们究竟是什么以及为什么它们被称为命名路由。 HALP。

4 个答案:

答案 0 :(得分:1)

命名路由提供帮助方法,用于生成到达特定路由的路径。定义命名路由时,您将获得两个辅助方法:name_pathname_url

两者之间的区别在于,使用name_url,您可以获得包含协议,域名和端口的完整URL。

示例:

name_path -> /test
name_url -> http://localhost:3000:/test

因此,您可以看到,当您需要引用这些路径时,您可以使用名称而不是拼写出完整的路径路径。

在下面的示例中,您更愿意键入哪一个?

<%= link_to "Test", name_url %>

<%= link_to "Test", "http://localhost:3000/test" %>

答案 1 :(得分:1)

假设您有一个名为Pharmacy的Rails应用程序,并且您为其创建了一个名为patients的控制器。

现在自动如果你想要转到"http://localhost:3000/pharmacy/patients"这样的网址,你可以在你的rails代码中使用PATH pharmacy_patients_path

单词_path是一个Rails的东西。

我希望这可以帮助您了解Rails应用程序中创建这些路由的模式。

现在,只需查看它们,您就可以运行此命令:bundle exec rake routes

答案 2 :(得分:0)

docs非常好。

答案 3 :(得分:0)

named-route只是意味着

You can name the route so it can understandable to you  and others. 

It is same like naming your son. Obviously, you will give him some male-name like John 
Since *John* make  sense and give idea to another person that your son is male. 

We follow the same convention here on coding. 

不明白,重新阅读答案和awesome guide