I’m running into an odd situation where datetime_select is making the
hours into minutes and putting nothing in for hours. It sounds really
odd, but it is whats happening. I generated a simple scaffold with the
results below.
My database table is mysql which looks like:
create_table :my_sessions do |t|
t.integer :user_id
t.string :ssession_id
t.date :start_date
t.time :start_time
t.time :end_time
t.string :location
t.string :title
t.string :source
t.boolean :msg_sent
t.timestamps
end
The View is standard scaffold:
Editing my_session
<% form_for (@my_session) do |f| %>
<%= f.label :ssession_id %>
<%= f.text_field :ssession_id %>
<%= f.label :start_date %>
<%= f.date_select :start_date %>
<%= f.label :start_time %>
<%= f.datetime_select :start_time %>
<%= f.label :end_time %>
<%= f.datetime_select :end_time %>
<%= f.label :location %>
<%= f.text_field :location %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.submit "Update" %>
<% end %> <%= link_to 'Show', @my_session %> | <%= link_to 'Back', my_sessions_path %>My controller is:
def update
user = User.find(session[:user_id])
@my_session = MySession.find(params[:id], :conditions =>
[“my_sessions.user_id = ?”, user.id])
respond_to do |format|
if @my_session.update_attributes(params[:my_session])
flash[:notice] = 'MySession was successfully updated.'
format.html { redirect_to(@my_session) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @my_session.errors, :status =>
:unprocessable_entity }
end
end
end
The model is empty.
Again, if I view my edit page and the time that is returned from the
database is:
January 1, 2007, 13:45
I change it on the form to be:
January 1, 2007, 12:45
What gets stored is:
January 1, 2007, 1:12
When creating a new record the day gets set as the hour, the hour the
minute and the minute the seconds. Its really odd. Any help would be
great.
Thanks Matt