grazie per le dritte
finalmente ho un app con sidebar
per conferma ti chiedo se il metodo che ho usato è corretto ti riporto gli esempi qui sotto:
modelli: 2
controller: 2
posts e categories, con relazione uno a molti
application layout
codice:
<div id='wrapper'>
<div id='header'>
</div>
<div id='sidebar_1'>
<%= yield :sidebar_1 %>
</div>
<div id='content'>
<%= yield %>
</div>
<div id='sidebar_2'>
<%= yield :sidebar_2 %>
</div>
<div id='footer'>
</div>
</div>
</body>
3 partial
nelle view metto :
codice:
<%= render :partial => "shared/codesidebar" %>
_codesidebar
codice:
<% content_for :sidebar_1 do %>
<%= render :partial => "shared/sidebar" %>
<% end %>
<% content_for :sidebar_2 do %>
<%= render :partial => "shared/sidebar2" %>
<% end %>
_sidebar
codice:
<div id="side_size">
<% @posts.each do |post| %>
[*]
<%= link_to post.category.name, :controller => "posts", :action => "show", :id => post.id %>
<% end %>
</div>
Esigenza, avere un app con 2 sidebar che possano in base alla sezione del sito in cui ci si vuole dirigere, mostrare liste dinamiche di link che fanno un .find(:all, :condition => codizione voluta)
siccome a volte mi muovo su differenti controller la sidebar non ha a disposizione la variabile locale dell' altro controller e mi da nil, ammeno che nel controller faccio un discorso di questo tipo:
CategoriesController
codice:
class CategoriesController < ApplicationController
def index
@categories = Category.all
@posts = Post.all
end
def show
@category = Category.find(params[:id])
@posts = Post.all
end
# GET /categories/new
# GET /categories/new.xml
def new
@category = Category.new
@posts = Post.all
end
def edit
@category = Category.find(params[:id])
@posts = Post.all
end
def create
@category = Category.new(params[:category])
@posts = Post.all
end
def update
@category = Category.find(params[:id])
@posts = Post.all
end
def destroy
@category = Category.find(params[:id])
@category.destroy
@posts = Post.all
end
end
facendo cosi tutti i dati risultano
domanda? è dry tutto questo o esiste metodo migliore per farlo?
ossia per rendere la variabile a cui fa riferimento la sidebar disponibile dove serve..
questo mi serve per capire meglio come realizzare un portale con rails
dove il modello è 1
le macrocategorie sono molte
e per ogni macrocategorie ci sono x categorie
e per ogni categoria ci sono delle tag o tipologie di modello (a cui si fa riferimento con una voce nella tabella del modello)
l'esigenza è che in base a dove ci si trova come categoria nella sidebar ci devono essere delle liste/link dinamiche che mi iterino il modello con le condizioni richieste...
grazie infinite in anticipo per le dritte e i consigli