简体   繁体   中英

Render controller action from another controller

I think the code is more explicit

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

Is possible in (B) to load another action in another controller? (and not just the view) How? Thanks

尝试render 'posts/show'render :template => 'posts/show'

Just render the template

def index
  render 'posts/show'
end

This one also works

def index
  render template: 'posts/show'
end

If you want to render in some other layout

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM