Rails アプリを本番環境に移行し、ルーティングの問題に直面しています。私はこの答えを読みました:
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') %>"
それを機能させるために。これは期待されていますか?アプリが実稼働用に配置される場所について心配する必要はありませんが、このソリューションではコード内に配置する必要があります。ありがとう