Acerca de formularios y datos

Buenas, estoy tratando de hacer que un usuario pueda editar sus propios
posts. Para ello he creado una relación “usuario_id” en la tabla de
Posts.

Todo me funciona bien excepto que no sé como hacer para que al crear un
post, el usuario_id se autogenere. Me explico:

Si yo creo un post, relleno el nombre, el titulo, el contenido, y al
final tengo que seleccionar yo manualmente usuario_id, cuando lo que
quiero es que ese dato se genere solo, según el usuario que sea el
conectado.

Os pego algunos datos:

posts_controller.rb

def create
@post = Post.new(params[:post])

respond_to do |format|
  if @post.save
    flash[:notice] = 'Post creado.'
    format.html { redirect_to(@post) }
    format.xml  { render :xml => @post, :status => :created,

:location => @post }
else
format.html { render :action => “new” }
format.xml { render :xml => @post.errors, :status =>
:unprocessable_entity }
end
end
end

app/views/post/index.html.erb

 <% if  post.usuario_id == session[:usuario_id] %>
  <td><%= link_to 'Edit', {:action => 'edit', :id => post.id}

%>

<%= link_to ‘Destroy’, post, :confirm => ‘Are you sure?’,
:method => :delete %>
<% end %>

app/views/post/new.html.erb

New post

<% form_for(@post) do |f| %>
<%= f.error_messages %>

<%= f.label :nombre %>
<%= f.collection_select :nombre, Usuario.all, :nombre, :nombre %>

<%= f.label :titulo %>
<%= f.text_field :titulo %>

<%= f.label :contenido %>
<%= f.text_area :contenido %>

<%= f.submit 'Create' %>

<% end %>

<%= link_to ‘Back’, posts_path %>

Como veis, esta ayuda también me serviría para el valor “nombre”, para
que el autor del post sea el usuario logeado.

Jorge Fernandez wrote:

Buenas, estoy tratando de hacer que un usuario pueda editar sus propios
posts. Para ello he creado una relación “usuario_id” en la tabla de
Posts.

Todo me funciona bien excepto que no sé como hacer para que al crear un
post, el usuario_id se autogenere. Me explico:

En el create del controlador puedes hacer:

@post = Post.new(params[:post])
@post.usuario_id = session[:usuario_id]

suponiendo que el dato que guardas en la sesión sea el id del usuario
logeado.

Un Saludo.