Mein erster Versuch, dieses Problem zu lösen, würde wahrscheinlich in etwa so aussehen. Es wird angenommen, dass Sie Rails 3, jQuery und jquery-rails verwenden. Wenn Sie nicht sind, wird dieser Ansatz definitiv nicht funktionieren. Dieser genaue Code ist nicht getestet, so dass Ihre Meilenzahl variieren kann. Ich versuche nur, Ihnen eine Idee zu geben, wie Sie über das Problem nachdenken sollten. Wenn Sie möchten, dass ich die Funktionsweise näher erläutere, oder wenn Sie Fragen haben, lassen Sie es mich wissen, und ich werde mein Bestes tun, um es zu erklären.
Verwandeln Sie Ihren link_to in einen Ajax-Post:
<%= link_to "Create a new company", new_company_path, :remote => true, :method => :post %>
Reagieren Sie in Ihrem Controller mit einer Javascript-Vorlage:
def create
@company = Company.new(params[:company])
respond_to do |format|
if @company.save
format.js
else
format.js { render 'error' }
end
end
end
Führen Sie in views/companies/create.js.erb das JS zum Öffnen des neuen Fensters aus.
window.open (<%= company_url(@company) %>, "mywindow","width=600,height=600");
Und das sollte mehr oder weniger genügen, denke ich. Ich habe ein paar Biere getrunken, also sei mit Vorsicht zu genießen.