StackAccount
StackAccount

Reputation: 151

ROR 3 - Specifying specific view file, ignoring application layout

I would like to specify a specific view file to render instead of the default one corresponding the REST architecture, meaning out of my 'create' function in the controller I would like to invoke the 'new' view file - which I believe can be done using:

def create
 .
 .
 render :new
end

But I also need that view file to ignore the cross-site layout specified in layouts/application.html.erb? is there a way to do that?

If it was out of the 'new' function, I could just state "render :layout => false" .. but I need it out of the 'create'

is there something like:

render :new, layout => false

Thanks!

Upvotes: 2

Views: 2288

Answers (3)

Vlad Khomich
Vlad Khomich

Reputation: 5880

Another way is this:

render :template => :new, :layout => false

Upvotes: 3

Addy
Addy

Reputation: 1851

You can do what you mentioned

def create
  render :new, :layout => false
end

You can then add the conditions like this

def create
  render :new, :layout => user_signed_in?
end

or the other way around depending on your need

Upvotes: 3

Spyros
Spyros

Reputation: 48626

I' not sure about that, would have to try it, but i think that you can do this :

layout 'application', :except => :action_name

to exclude the action in your controller.

EDIT : I just tried it, it works indeed :)

Upvotes: 3

Related Questions