在partials中使用path helper会在rails 3中生成错误的路径

时间:2015-01-14 13:23:50

标签: ruby-on-rails ruby ruby-on-rails-3 partial

我有我的申请" http://www.example.com/test"。 当我点击网址时,我会看到索引页面,其中显示了个人资料列表。

要显示列表中的每个配置文件,我使用了部分配置文件。 每个配置文件都链接到他们自己的节目页面。

为了提供链接addreess,我使用了像这样的Rals路径助手

 profile_path(:id => whatever_id)

问题是生成的网址是这样的: -

 /profile/whatever_id

它完全跳过应用名称" test"。我的预期网址是

 /test/profile/whatever_id

任何人都可以告诉可能的原因是什么?

1 个答案:

答案 0 :(得分:0)

这取决于你在“app name”下的含义。如果应用程序使用Passenger Apache / Nginx模块安装在/ test下,那么Rails应用程序将遵循服务器端前缀,并将自动生成正确的URL,只有开发环境将在根范围内生成URL。

如果您的应用程序是独立运行或通过代理设置运行(如果前端Web服务器是Nginx服务器,则典型设置),并且您希望在前缀路径下运行它,那么您必须使用这样的scope方法:

Rails.application.routes do scope(:path => '/test') do # the rest of your routes go here end end

查看documentation

中的详细信息