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.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs