【问题标题】:Rails routing in production environment生产环境中的 Rails 路由
【发布时间】:2012-06-29 03:17:56
【问题描述】:

将 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') %>"

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

【问题讨论】:

    标签: ruby-on-rails routing


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-11-30
      • 2012-04-19
      • 2021-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-06
      • 1970-01-01
      相关资源
      最近更新 更多