# Layout e opzioni

**URL:** <https://www.ruby-forum.com/t/layout-e-opzioni/237686>\
**Category:** IT\
**Created:** [November 24, 2013, 4:43pm UTC](https://www.ruby-forum.com/t/layout-e-opzioni/237686 "2013-11-24T16:43:09Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [November 24, 2013, 4:43pm UTC](https://www.ruby-forum.com/t/layout-e-opzioni/237686/1 "2013-11-24T16:43:09Z")

</div>

Salve,  
in Rails 2 funzionava perfettamente il comando all’inizio del  
controller:

layout ‘law’, :except=\>[:not\_found]

in Rails 3 non funziona più anche se ho trovato indicazioni in merito e  
la sintassi è identica.

Dove sto sbagliando?

Grazie

---

<div class="post-metadata">

**Author:** ![softwarewin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@softwarewin](https://www.ruby-forum.com/u/softwarewin)\
**Post date:** [November 24, 2013, 9:07pm UTC](https://www.ruby-forum.com/t/layout-e-opzioni/237686/2 "2013-11-24T21:07:02Z")

</div>

Sembra corretto. Dacci qualche info in pi.

2013/11/24 Luigi M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![softwarewin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@softwarewin](https://www.ruby-forum.com/u/softwarewin)\
**Post date:** [November 25, 2013, 12:42am UTC](https://www.ruby-forum.com/t/layout-e-opzioni/237686/3 "2013-11-25T00:42:10Z")

</div>

Infatti non riesco a capire…comunque quello che succede è che:

class ViewController \< ApplicationController

require ‘rmagick’  
layout “view”, :except=\> [:picture]

def index  
…  
…end

def picture  
…

end

ma la vista picture continua ad usare il layout view a meno di mettere  
nel def picture il comando render :layout=\>false

Non riesco a capire.

---

<div class="post-metadata">

**Author:** ![softwarewin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@softwarewin](https://www.ruby-forum.com/u/softwarewin)\
**Post date:** [November 25, 2013, 8:57am UTC](https://www.ruby-forum.com/t/layout-e-opzioni/237686/4 "2013-11-25T08:57:04Z")

</div>

Non che hai un layout application uguale a view?

Alessandro R.

---

<div class="post-metadata">

**Author:** ![softwarewin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@softwarewin](https://www.ruby-forum.com/u/softwarewin)\
**Post date:** [November 25, 2013, 10:12am UTC](https://www.ruby-forum.com/t/layout-e-opzioni/237686/5 "2013-11-25T10:12:05Z")

</div>

Ho controllato, purtroppo no il layout application è quello di default e  
diverso dal layout view.

---

<div class="post-metadata">

**Author:** ![softwarewin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@softwarewin](https://www.ruby-forum.com/u/softwarewin)\
**Post date:** [November 26, 2013, 11:41pm UTC](https://www.ruby-forum.com/t/layout-e-opzioni/237686/6 "2013-11-26T23:41:18Z")

</div>

Perdonate l’attesa, no, non funziona neppure only!

…bah!

Nel log viene chiaramente chiamato il layout view:

Started GET “/copyright/disclaimer.html” for 127.0.0.1 at 2013-11-26  
23:38:49 +0100  
Processing by ViewController#disclaimer as HTML  
Parameters: {“keyword”=\>“copyright”}  
Rendered view/\_traduttore.html.erb (0.0ms)  
Rendered view/\_google\_plus.html.erb (0.0ms)  
Rendered view/disclaimer.html.erb within layouts/view (3.0ms)  
Rendered view/\_traduttore.html.erb (0.0ms)  
Rendered view/\_google\_plus.html.erb (0.0ms)  
Rendered view/\_paginator\_rel2.html.erb (1.0ms)  
Rendered view/\_copyright.html.erb (0.0ms)  
Completed 200 OK in 33ms (Views: 33.0ms | ActiveRecord: 0.0ms)

se nella vista disclaimer dichiaro layout=\> false allora:

Started GET “/copyright/disclaimer.html” for 127.0.0.1 at 2013-11-26  
23:40:16 +0100  
Processing by ViewController#disclaimer as HTML  
Parameters: {“keyword”=\>“copyright”}  
Rendered view/\_traduttore.html.erb (0.0ms)  
Rendered view/\_google\_plus.html.erb (0.0ms)  
Rendered view/disclaimer.html.erb (2.0ms)  
Completed 200 OK in 5ms (Views: 5.0ms | ActiveRecord: 0.0ms)

---

<div class="post-metadata">

**Author:** ![softwarewin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@softwarewin](https://www.ruby-forum.com/u/softwarewin)\
**Post date:** [November 25, 2013, 6:30pm UTC](https://www.ruby-forum.com/t/layout-e-opzioni/237686/7 "2013-11-25T18:30:41Z")

</div>

Per allargare la fiera delle ipotesi… non è che c’è di mezzo qualche  
redirezione o render :action? Controlla nel log tutte le linee che  
iniziano con " Rendered" e verifica quali view e partial vengano  
realmente usati.

Googlando però vedo che non sei l’unico con questi problemi

> <https://stackoverflow.com/questions/16921586/rails-3-2-layout-except-not-working>

Per curiosità, only funziona come ti aspetti?

layout “view”, :only =\> :index

Prova anche senza l’array.

Paolo

---

<div class="post-metadata">

**Author:** ![softwarewin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@softwarewin](https://www.ruby-forum.com/u/softwarewin)\
**Post date:** [November 27, 2013, 9:25am UTC](https://www.ruby-forum.com/t/layout-e-opzioni/237686/8 "2013-11-27T09:25:38Z")

</div>

In ApplicationController non ho alcuna chiamata a layout, la chiamata al  
layout sta solo in ViewController.

---

<div class="post-metadata">

**Author:** ![softwarewin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@softwarewin](https://www.ruby-forum.com/u/softwarewin)\
**Post date:** [November 27, 2013, 12:33am UTC](https://www.ruby-forum.com/t/layout-e-opzioni/237686/9 "2013-11-27T00:33:26Z")

</div>

Hai un’unica chiamata a layout nei controllori ViewController +  
ApplicationController?  
(v. [#3619 Conditional layouts ignore default application wide layout - Ruby on Rails - rails](https://rails.lighthouseapp.com/projects/8994/tickets/3619))

i.
