Supporting two kinds of user profiles
I think your suspicion that the code is a "wet" is correct.  I would start moving these predicates into the model whenever they are:


Used more than once, or
Can make the code clearer by having a named predicate.


Consider replacing this:

helper_method :profile_type_from_user
  def profile_type_from_user(user)
    return profile = user.trucker ? :trucker : :owner_trucker
  end


With this:

class User
  ...
  def profile_type
    trucker ? :trucker : :owner_trucker
  end
  ...
end


Similarly, consider replacing this:

@profile = current_user.trucker ? current_user.trucker : current_user.owner_trucker


with:

class User
  ...
  def profile
    trucker || owner_trucker
  end
  ...
end

@profile = current_user.profile