重构:
redirect_to "http://#{@school.id}" + '.' + request.domain + request.port_string + '/'
那是在学校控制器内部:
def create
@school = School.new(params[:school])
if @school.save
redirect_to "http://#{@school.id}" + '.' + request.domain + request.port_string + '/'
else
render "new", :layout => nil
end
end
因此它重定向到:
subdomain.domain.dom/
路线:
资源:学校 root:to => “学校#显示” 事情尝试了:redirect_to(:host=>@school.id + '.' + request.domain + request.port_string)
因为重定向到http://subdomain.domain.dom/schools
而失败我如何通过:通知?
我在视图中有这个:
<% if flash[:notice] -%>
<div id="info_panel">
<%= flash[:notice] -%>
</div>
<% end -%>
这在控制器中:
flash[:notice] = "School created"
redirect_to(school_base(@school.id))
答案 0 :(得分:1)
redirect_to "http://#{@school.id}.#{request.domain}#{request.port_string}/"
如果您将定期使用此方法,您可能需要考虑按以下方式向ApplicationController添加方法:
def url_for_school(school)
"http://#{school.id}.#{request.domain}#{request.port_string}/"
end
helper_method :url_for_school