web-dev-qa-db-fra.com

Rendre l'action du contrôleur à partir d'un autre contrôleur

Je pense que le code est plus explicite

option A

class RedirectController < ApplicationController
  def index
    redirect_to :controller => 'posts', :action => 'show', :id => 1
    # it works
  end
end

option B

class RedirectController < ApplicationController
  def index
    render :controller => 'posts', :action => 'show', :id => 1
    # it doesn't work
  end
end

Est-il possible en (B) de charger une autre action dans un autre contrôleur? (et pas seulement la vue) Comment? Merci

25
user142913

Essayez render 'posts/show' ou render :template => 'posts/show'

46
Bohdan

Rendez simplement le modèle

def index
  render 'posts/show'
end

Celui-ci fonctionne également

def index
  render template: 'posts/show'
end

Si vous souhaitez effectuer un rendu dans une autre disposition

def index
  render template: 'posts/show', layout: 'different_layout' 
end
2
Deepak Mahakale