     if Module.get_attribute(module, :view_resource) do
       raise ArgumentError,
             "use Phoenix.View is being called twice in the module #{module}. " <>
-              "Make sure to call it only per module"
+              "Make sure to call it only once per module"
     else
       view_resource = String.to_atom(Phoenix.Naming.resource_name(module, "View"))
       Module.put_attribute(module, :view_resource, view_resource)

  @doc false
  defmacro __before_compile__(_env) do
    # We are using @anno because we don't want warnings coming from
    # render/2 to be reported in case the user has defined a catch all
    # render/2 clause.
    quote @anno do
      # Catch-all clause for rendering.

  namespace is `MyApp`, templates are expected at `Path.join(root, "user")`.
  On the other hand, if the view is `MyApp.Admin.UserView`,
  the path will be `Path.join(root, "admin/user")` and so on. For
  explicit root path locations, the `:path` option can be provided instead.
  The `:root` and `:path` are joined to form the final lookup path.
  A blank string may be provided to use the `:root` path directly as the
  template lookup path.
