# Assegnare valori ad attrbuti

**URL:** <https://www.ruby-forum.com/t/assegnare-valori-ad-attrbuti/201467>\
**Category:** IT\
**Created:** [January 7, 2011, 10:52pm UTC](https://www.ruby-forum.com/t/assegnare-valori-ad-attrbuti/201467 "2011-01-07T22:52:36Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![luislavena](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/0ea827/32.png) [@luislavena](https://www.ruby-forum.com/u/luislavena)\
**Post date:** [January 7, 2011, 10:52pm UTC](https://www.ruby-forum.com/t/assegnare-valori-ad-attrbuti/201467/1 "2011-01-07T22:52:36Z")

</div>

Nel modello, usando il before\_validate richiamo un metodo protected e  
faccio una cosa del genere:  
self.prova = self.att + 90.days.  
Ho pensato che non fosse molto corretto assegnare valori agli  
attributi direttamente dal modello e che fosse piu’ ortodosso farlo  
dal controller.  
Cosi’ nel metodo create del controller ho fatto una cosa del genere:  
@model = Model.new  
@model.prova = @model.att + 90.days-  
C’e’ pero’ qualcosa che non va in quanto all’attributo non viene  
assegnato alcun valore.  
Il codice nel modello invece funzionava perfettamente nel senso che  
l’attributo .prova veniva valorizzato.

---

<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:** [January 8, 2011, 1:51am UTC](https://www.ruby-forum.com/t/assegnare-valori-ad-attrbuti/201467/2 "2011-01-08T01:51:33Z")

</div>

lo chiami @model.save ?

altrimenti non salva il dato su db 😉

ciao,  
A.

Il 07/01/2011 22:51, Mauro ha scritto:

> @model.prova = @model.att + 90.days

–  
[http://twitter.com/apeacox](http://twitter.com/apeacox)

---

<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:** [January 8, 2011, 11:09am UTC](https://www.ruby-forum.com/t/assegnare-valori-ad-attrbuti/201467/3 "2011-01-08T11:09:23Z")

</div>

2011/1/8 Andrea P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> lo chiami @model.save ?
> 
> altrimenti non salva il dato su db 😉

certo, questo e’ il codice:

def create  
@supplier = Supplier.new(params[:supplier])  
@supplier.prova = @supplier.att + 90.days

```
respond_to do |format|
  if @supplier.save
    format.html { redirect_to(@supplier, :notice => t('Supplier

```

was successfully created.')) }  
format.xml { render :xml =\> @supplier, :status =\> :created,  
:location =\> @supplier }  
else  
format.html { render :action =\> “new” }  
format.xml { render :xml =\> @supplier.errors, :status =\>  
:unprocessable\_entity }  
end  
end  
end

centra qualcosa il fatto che “prova” e “att” sono date?
