Formularz, czas

Witam,
Mam taki problem… Czy da się już w formularzu nadać pewne wartości zmiennym? Chodzi mi o coś takiego

<%= form_tag :action => "akcja", :id => @post %> <%= datetime_select "comment", "posted_at" %> <%= submit_tag "Dodaj" %> <% end_form_tag%>
Ale nie chciałbym by było widać okienka z wybieraniem czasu. Czy w formularzu można zrobić coś jakby posted_at = Time.now ? Podobnie chciałbym zrobić z

<% if logged_in? %> <% author = current_user.login %> <% end %>
. Czy to wszystko będę musiał zrobić z poziomu kontrolera, modelu pisząc funkcję create?

Ww. sytuacja nie odzwierciedli rzeczywistosci bo nie bedzie to posted_at tylko czas kiedy renderowany byl html, …

oczywiscie mozna na wstepie w templacie formularza.

<%  @comment.posted_at = Time.now -%>

ale, lepiej jest wszystko predefinioawne (niekoniecznie date powstania ale np. user_id) zainicj. w kontrolerze (lub w spec. metodzie typu new_with_defaults modelu) a pozniej przetrzymac w hidden field (akcja typu new) lub przy zapisaniu (create) opcjonalnie wykorzystac before_save/create/update callbacks.

Najlepiej trzymac sie konwencji i zamiast ‘posted_at’ kolumna ‘created_at’ wtedy nie trzeba nic robic i wyrzucic datetime_select z formularza

Jest juz metoda create (nie jak w C czy Perl funkcja, a wlasciwie message), kt. od razu wstawia rekord, mozna wiec nadpisac create biorac pod uwage wymagane defaulty i jej podstawowe dzialanie ale nie wykorzystac w akcji typu new ale create.