user.second_name.present? ? "#{user.first_name} #{second_name}" : user.email class User < ApplicationRecord def full_name "#{first_name} #{second_name}" end def shown_username full_name.present? ? full_name : email end end
user.save redirect_to user_path(user) else render :new end end app/models/user.rb class User < ApplicationRecord after_create do UserMailer.send_hello(user) .deliver_later end end https://medium.com/planet-arkency/the-biggest-rails-code-smell-you-should-avoid- to-keep-your-app-healthy-a61fd75ab2d3
user.save redirect_to user_path(user) else render :new end end app/models/user.rb class User < ApplicationRecord after_create do UserMailer.send_hello(user) .deliver_later end end https://medium.com/planet-arkency/the-biggest-rails-code-smell-you-should-avoid- to-keep-your-app-healthy-a61fd75ab2d3
user.transaction do user.save user.create_team(team_params) end UserMailer.send_hello(user).deliver_later redirect_to user_path(user) else render :new end end
CreateUserService.new(user).call redirect_to user_path(user) else render :new end end app/services/create_user_service.rb class CreateUserService < Struct.new(:user) def call user.transaction do user.save user.create_team(team_params) end send_notification end private def send_notification UserMailer.send_hello(user).deliver_later end end
if result.success? redirect_to user_path(result.object) else @user = result.object render :new end end app/services/create_user_service.rb class CreateUserService < Struct.new(:user_params) def call if user.valid? create_user SuccessResult(object: user) else ErrorResult.new(object: user) end private def user @_user || User.new(user_params) end end