Ruby on rails 铁路3&x2013;重构重定向调用

Ruby on rails 铁路3&x2013;重构重定向调用,ruby-on-rails,refactoring,Ruby On Rails,Refactoring,重构此文件: 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 + reque

重构此文件:

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
flash[:notice] = "School created"
redirect_to(school_base(@school.id))                  
使其重定向到:

subdomain.domain.dom/
路线:

资源:学校 root:to=>“学校秀”

尝试过的事情:

redirect_to(:host=>@school.id + '.' + request.domain + request.port_string)
失败,因为它重定向到

我怎样才能通过a:通知

我认为:

<% if flash[:notice] -%>
    <div id="info_panel">
    <%= flash[:notice] -%>
    </div>
<% end -%>

如果您将定期使用此方法,您可能需要考虑沿着“

”的行向AppultCube添加一个方法。
def url_for_school(school)
  "http://#{school.id}.#{request.domain}#{request.port_string}/"
end
helper_method :url_for_school

美好的如何添加:通知?如果子域上的内容由同一个应用程序处理,您应该能够正常添加:
flash[:notice]=“Your notification”
。如果它是一个完全独立的应用程序,您可能需要考虑将其作为查询字符串传递,除非您想设置交叉应用程序cookie。询问您是否需要关于后者的更多信息。该应用程序是相同的。但是:通知没有显示。您在编辑中有当前代码。请尝试更改会话存储中的域设置,如下所述:
def url_for_school(school)
  "http://#{school.id}.#{request.domain}#{request.port_string}/"
end
helper_method :url_for_school