Hi there. I'm just learning so bear with me. I have a column in my
database for date_created and it shows in the view as Wed Nov 28
18:05:00 -0600 2007. I don't really want it to display like that so is
there a way to change how that date is formated in the view but not
changed in the database? The code I have looks like this:
Also in the _form.rhtml for editing entries, scaffolding builds this:
<%= datetime_select 'entry', 'date_created' %>
Is there anyway to have that not show but still put the time created
in the database? If I remove the
Sorry, totally nuby question here I'm sure. I may be hounding you guys
again in the near future. Better to ask questions early and often.
Thanks so much in advance to anyone who can shed a little light on
this.
Thanks so much. I should have checked there first. I haven't gotten
around to watching any of those yet which, I guess, I really should.
Those and my bloody PeepCode downloads. Anyway, thanks again for
pointing me in the right direction. I'd heard there was a supportive
community for Rails and there's the proof!
Hi there. I'm just learning so bear with me. I have a column in my
database for date_created and it shows in the view as Wed Nov 28
18:05:00 -0600 2007. I don't really want it to display like that so is
there a way to change how that date is formated in the view but not
changed in the database? The code I have looks like this:
<span id="created_on"><%= e.date_created %></span>
Basically, you can use strftime to change it to look like anything that suits you. Look it up in the Ruby API.
it will be something like e.date_created.strftime("%d-%m-%Y") will give you something like 02-12-2007.
Also in the _form.rhtml for editing entries, scaffolding builds this:
<%= datetime_select 'entry', 'date_created' %>
Is there anyway to have that not show but still put the time created
in the database? If I remove the
Scaffold automatically creates the field for created_on in the form. You can delete it from the form. The user doesn't need to enter a date for it. Rails will automatically insert the created_on datetime when the record is saved.
Sorry, totally nuby question here I'm sure. I may be hounding you guys
again in the near future. Better to ask questions early and often.
Thanks so much in advance to anyone who can shed a little light on
this
Thanks. I've tried removing datetime_select but it won't put the time
into the table and then breaks because it's returning a value of nil
when I want that date to display in my list of entries. I thought that
I could just put Time.now in there but, nope. That shows the time but
doesn't put it into the database. I guess I have more reading to do.
Is that something I would fix in the Controller? or should I be
correcting that (somehow) in my view?
If your column name is date_created, rails won't automatically
populate it with the time. If you want rails to create it for you,
you should rename it to created_at, or created_on. If you don't want
to rename it you can modify your create action in the controller with
something like this:
def create
@entry = Entry.new(params[:entry])
@entry.date_created = Time.now
if @entry.save....bla bla bla
...bla bla
end
There may be a better way, like putting it in your model. Maybe
someone else can chime in.