Rails在生产环境中进行路由

时间:2012-06-28 19:10:52

标签: ruby-on-rails routing

将rails应用程序移至生产并运行到路由问题。我读过这个答案:

What is the replacement for ActionController::Base.relative_url_root?

但是我仍然无法理解完整的解决方案,以及如何在不关心应用程序放置位置的情况下继续开发。

我在:http://dev.mycompany.com:8081/myapp/

运行该应用

所以我把它放在production.rb中:

config.action_controller.relative_url_root =“/ myapp”

我把它放在路线中:

 scope "/myapp" do
    root :to => 'application#index'
    match 'login/index' => 'logins#index',        :as => 'logins_index'
  end

在我的表格标签中,我有:

<form class="loginForm" name="loginForm" id="loginForm" action="<%= url_for('/login') %>" method="post">

我认为一切都会神奇地起作用,但实际上我需要把

 action="<%= url_for('/myapp/login') %>"

让它发挥作用。这是预期的吗?我不想担心我的应用程序在哪里投入生产,但是这个解决方案要求它在我的代码中。感谢

1 个答案:

答案 0 :(得分:1)

您已经定义了帮助logins_index_xxx(其中xxx可以是pathurl),但您没有使用它。为什么?试试这个:

... action="<%= logins_index_path %>" ...