При написании метода «create» для объекта в приложении Ruby on Rails я использовал два метода. Я хотел бы использовать один метод для более чистого и согласованного кода. Ниже перечислены два метода. Кто-нибудь знает, лучше ли кто-то другой? Если да, то почему?При создании объекта в Ruby on Rails, какой метод экономии вы предпочитаете и почему?
Метод 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
Метод 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
Я думаю, вы имеете в виду «создать!» не «создавать» в методе 1. «Создать» не приведет к возникновению исключения; он просто возвращает false при ошибках проверки. –
Вы правы, спасибо за указание, что вне – Tony