# Layout in application\_controller

**URL:** <https://www.ruby-forum.com/t/layout-in-application-controller/185152>\
**Category:** IT\
**Created:** [March 15, 2010, 11:31am UTC](https://www.ruby-forum.com/t/layout-in-application-controller/185152 "2010-03-15T11:31:29Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [March 15, 2010, 11:31am UTC](https://www.ruby-forum.com/t/layout-in-application-controller/185152/1 "2010-03-15T11:31:29Z")

</div>

Ho inserito nel file application\_controller  
layout “main”  
in modo che tutti i controller avessero lo stesso layout.  
In main.html.erb ho:  
\<%= javascript\_include\_tag :defaults %\>.

In index.html.erb del controller X ho:

\<% form\_tag rusers\_path, :method =\> :get do %\>

\<%= text\_field\_tag :search, params[:search] %\> \<%= image\_tag("indicator.gif", :id =\> "spinner", :style =\> "display: none;") %\> \<#%= submit\_tag "Search", :name =\> :nil %\>

\<% end %\> \<%= observe\_field(:search, :frequency =\> 0.5, :update =\> :search\_hits, :loading =\> "Element.show('spinner')", :complete =\> "Element.hide('spinner')", :url =\> { :action =\> :index }) %\>

La ricerca ajax non funziona.  
Se invece metto in X\_controller  
layout “main”

la ricerca ajax funziona.

Come mai layout “main” in application\_controller non viene considerato?

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [March 15, 2010, 11:46am UTC](https://www.ruby-forum.com/t/layout-in-application-controller/185152/2 "2010-03-15T11:46:07Z")

</div>

2010/3/15 Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> \<%= text\_field\_tag :search, params[:search] %\>  
> :url =\> { :action =\> :index }) %\>
> 
> La ricerca ajax non funziona.  
> Se invece metto in X\_controller  
> layout “main”
> 
> la ricerca ajax funziona.

fammi capire: se non scrivi layout “main” in X\_controller, la pagina è  
valida (contiene, ad esempio, ) o no?

Ma se invece chiami il layout “application.html.erb” e non scrivi  
niente da nessuna parte?

(Di default, il layout si chiama come il controller, a meno che non ci  
sia un layout chiamato application: in quel caso viene usato per tutti  
i controller).

pietro

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [March 15, 2010, 12:11pm UTC](https://www.ruby-forum.com/t/layout-in-application-controller/185152/3 "2010-03-15T12:11:18Z")

</div>

2010/3/15 Pietro G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> > :complete =\> "Element.hide('spinner')",
> 
> fammi capire: se non scrivi layout “main” in X\_controller, la pagina è  
> valida (contiene, ad esempio, ) o no?  
> La pagina e’ la stessa con lo stesso codice.  
> La cosa cosa che differisce e’ che non viene eseguito il codice ajax,  
> nonostante in main.html.erb abbia  
> \<%= javascript\_include\_tag :defaults %\> .

> (Di default, il layout si chiama come il controller, a meno che non ci  
> sia un layout chiamato application: in quel caso viene usato per tutti  
> i controller).

Si ma se mi creo un layout che chiamo “main” e  
nell’application\_controller metto layout “main” questo dovrebbe  
diventare il layout di default per tutti i controller, o no?

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [March 15, 2010, 12:15pm UTC](https://www.ruby-forum.com/t/layout-in-application-controller/185152/4 "2010-03-15T12:15:24Z")

</div>

Il 15 marzo 2010 12.11, Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

> > fammi capire: se non scrivi layout “main” in X\_controller, la pagina è  
> > valida (contiene, ad esempio, ) o no?
> 
> La pagina e’ la stessa con lo stesso codice.  
> La cosa cosa che differisce e’ che non viene eseguito il codice ajax,  
> nonostante in main.html.erb abbia  
> \<%= javascript\_include\_tag :defaults %\> .

Non ho capito; righe come queste:

```
<script src="/javascripts/prototype.js?1265207088"

```

type=“text/javascript”\>

compaiono oppure no?

> Si ma se mi creo un layout che chiamo “main” e  
> nell’application\_controller metto layout “main” questo dovrebbe  
> diventare il layout di default per tutti i controller, o no?

Sì. Ma non sono del tutto sicuro che sia questo il problema.

Inoltre, firebug che dice?

pietro

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [March 15, 2010, 12:59pm UTC](https://www.ruby-forum.com/t/layout-in-application-controller/185152/5 "2010-03-15T12:59:52Z")

</div>

2010/3/15 Pietro G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> \<script src="/javascripts/prototype.js?1265207088" compaiono oppure no?

No.

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [March 15, 2010, 4:37pm UTC](https://www.ruby-forum.com/t/layout-in-application-controller/185152/6 "2010-03-15T16:37:39Z")

</div>

2010/3/15 Pietro G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> > > type=“text/javascript”\>
> 
> - c’è altro, in /views/layouts, oltre a main.html.erb?  
> Ci sono i layouts dei vari controller.

> - Cosa c’è in XController oltre alla definizione dei metodi?

Assolutamente nient’altro.

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [March 15, 2010, 4:38pm UTC](https://www.ruby-forum.com/t/layout-in-application-controller/185152/7 "2010-03-15T16:38:14Z")

</div>

Il 15 marzo 2010 16.37, Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

> Ci sono i layouts dei vari controller.

Tra cui anche X?

pietro

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [March 15, 2010, 5:03pm UTC](https://www.ruby-forum.com/t/layout-in-application-controller/185152/8 "2010-03-15T17:03:24Z")

</div>

2010/3/15 Pietro G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Il 15 marzo 2010 16.37, Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:
> 
> > Ci sono i layouts dei vari controller.
> 
> Tra cui anche X?

Beh si, ho capito devo eliminarlo.

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [March 15, 2010, 1:34pm UTC](https://www.ruby-forum.com/t/layout-in-application-controller/185152/9 "2010-03-15T13:34:24Z")

</div>

Il 15 marzo 2010 12.59, Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

> > compaiono oppure no?
> 
> No.

Ok.

Per esclusione:

- c’è altro, in /views/layouts, oltre a main.html.erb?

- Cosa c’è in XController oltre alla definizione dei metodi?

pietro
