目前我正在使用老式方式制作link_to
<%= link_to 'Attend Survey', {:controller => :survey, :action => :get_personal_data}, :class => 'btn btn-primary' %>
问题是我对整个应用程序都有非默认主机(假设它类似于/~foo/bar
)。
我已将config.relative_url_root = '/~foo/bar'
添加到production.rb
,并且所有资源都正确显示,剩下的唯一内容是link_to
帮助程序,这使我仍然可以使用默认主机/
路由。
我可能做错了,但this回答的所有解决方案都不适用于该特定情况或由于Rails 4的更改。
修改
由于生产env RAILS_ENV=production rake routes
给了我
Prefix Verb URI Pattern Controller#Action
survey_context GET /survey/context(.:format) survey#get_personal_data
GET /survey/selfesteem/:id(.:format) survey#get_self_esteem
survey_index GET /survey/index(.:format) survey#index
survey_thank_you GET /survey/thank_you(.:format) survey#thank_you
POST /survey/context(.:format) survey#create_person
POST /survey/selfesteem/:id(.:format) survey#create_self_esteem_for_person
root GET / survey#index