# Setting initial text field values in a form

**URL:** <https://www.ruby-forum.com/t/setting-initial-text-field-values-in-a-form/100201>\
**Category:** Rails\
**Created:** [July 27, 2006, 6:30pm UTC](https://www.ruby-forum.com/t/setting-initial-text-field-values-in-a-form/100201 "2006-07-27T18:30:59Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Seamus\_Gilchrist](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d78d45/32.png) [@Seamus\_Gilchrist](https://www.ruby-forum.com/u/Seamus_Gilchrist)\
**Post date:** [July 27, 2006, 6:30pm UTC](https://www.ruby-forum.com/t/setting-initial-text-field-values-in-a-form/100201/1 "2006-07-27T18:30:59Z")

</div>

Hi,

I am trying to create a basic form in which I want one of the fields  
initialized before displaying it.

My code (in a view) is as follows:

\<%  
if ( session[:user\_id] != nil )  
then  
logged\_in\_user = User.find(session[:user\_id])  
end  
%\>

\<% form\_for :suggestion do |form| %\>

Topic:  
  
\<%= form.text\_field :title, :size =\> 64 %\>  
Email:  
  
\<%= form.text\_field :email, :size =\> 64 %\>  
Suggestion:  
  
\<%= form.text\_area :suggestion, :size =\> 1000, :cols =\> 48 %\>  
\<%= submit\_tag “Send Feedback”, :name=\>“addsuggestion” %\>  
\<% end %\>

I would like to set the email address in the form field such that it  
displays the email address from the logged\_in\_user (i.e.,  
logged\_in\_user.email) any ideas on how to do this would be appreciated.

I have tried multiple times using things such as  
:suggestion.email = logged\_in\_user.email  
:email = logged\_in\_user.email

appreciate the input

---

<div class="post-metadata">

**Author:** ![Seamus\_Gilchrist](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d78d45/32.png) [@Seamus\_Gilchrist](https://www.ruby-forum.com/u/Seamus_Gilchrist)\
**Post date:** [July 27, 2006, 6:45pm UTC](https://www.ruby-forum.com/t/setting-initial-text-field-values-in-a-form/100201/2 "2006-07-27T18:45:29Z")

</div>

On Thursday, July 27, 2006, at 6:30 PM, Seamus Gilchrist wrote:

> logged\_in\_user = User.find(session[:user\_id])  
> \<%= form.text\_area :suggestion, :size =\> 1000, :cols =\> 48 %\>
> 
> appreciate the input
> 
> –  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).
> 
> * * *
> 
> Rails mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

+1 slap on the wrist for putting business logic in a view…

However, a better way to do this is

– controller

def action  
@suggestion = Suggestion.new  
@suggestion.email = User.find(session[:user\_id]).email  
end

– view

\<%= text\_field ‘suggestion’, ‘email’ %\>

If you initialize the object with default values in the action, you will  
see them in the view when it renders.

\_Kevin  
[www.sciwerks.com](http://www.sciwerks.com)

---

<div class="post-metadata">

**Author:** ![Seamus\_Gilchrist](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d78d45/32.png) [@Seamus\_Gilchrist](https://www.ruby-forum.com/u/Seamus_Gilchrist)\
**Post date:** [July 27, 2006, 8:11pm UTC](https://www.ruby-forum.com/t/setting-initial-text-field-values-in-a-form/100201/3 "2006-07-27T20:11:33Z")

</div>

Kevin O. wrote:

> On Thursday, July 27, 2006, at 6:30 PM, Seamus Gilchrist wrote:
> 
> > logged\_in\_user = User.find(session[:user\_id])  
> > \<%= form.text\_area :suggestion, :size =\> 1000, :cols =\> 48 %\>
> > 
> > appreciate the input
> > 
> > –  
> > Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).
> > 
> > * * *
> > 
> > Rails mailing list  
> > removed\_email\_address@domain.invalid  
> > [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)
> 
> +1 slap on the wrist for putting business logic in a view…

Point taken - got it working as you suggested - thanks very much
