Al escribir el método "crear" para un objeto en una aplicación de Ruby on Rails, he usado dos métodos. Me gustaría utilizar un método por el bien de un código más limpio y consistente. Voy a enumerar los dos métodos a continuación. ¿Alguien sabe si uno es mejor que el otro? Si es así, ¿por qué?Al crear un objeto en Ruby on Rails, ¿qué método de guardado prefiere y por qué?
Método 1:
def create1
# is this unsecure? should we grab user_id from the session
params[:venue]['user_id'] = params[:user_id]
begin
venue = Venue.create(params[:venue])
@user_venues = @user.venues
render :partial => 'venue_select_box', :success => true, :status => :ok
rescue ActiveRecord::RecordInvalid
render :text => 'Put errors in here', :success => false, :status => :unprocessable_entity
end
end
Método 2:
def create2
# is this unsecure? should we grab user_id from the session
params[:venue]['user_id'] = params[:user_id]
venue = Venue.new(params[:venue])
if venue.save
@user_venues = @user.venues
render :partial => 'venue_select_box', :success => true, :status => :ok
else
render :text => 'Put errors in here', :success => false, :status => :unprocessable_entity
end
end
Creo que quieres decir "crear!" no "crear" en el Método 1. "crear" no generará una excepción; simplemente devuelve falso en los errores de validación. –
tiene la razón, gracias por señalar – Tony