In my class it was said that
"A tangent vector $X \in T_p(\mathbb{R}^n)$ acts on a one-form to give a real number"
and
"A one-form acts on a tangent vector to give a real number"
Now the 'tangent space' $T_p(\mathbb{R}^n)$ is a $n$-dimensional vector space and the elements of $T_p(\mathbb{R}^n)$ which we call tangent vectors are actually derivations, which are linear maps $w : C^{\infty}(\mathbb{R}^n) \to \mathbb{R}$ satisfying a product rule.
One-forms are elements of the dual vector space $T_p^*(\mathbb{R}^n)$, which we call the cotangent space. They are by definition of a dual vector space, linear maps from $T_p(\mathbb{R}^n)$ to $\mathbb{R}$, e.g $f : T_p(\mathbb{R}^n) \to \mathbb{R}$. From this it is easy to see that a one-form takes as input a tangent vector and outputs a real number.
However I'm having trouble seeing how a tangent vector (derivation) takes as input a one-form to output a real number since it's domain isn't even $T_p^*(\mathbb{R}^n)$.
"tangent vectors act on $1$-forms": there is a linear map form the linear space of tangent vectors to a linear space of $1$-forms (the bidual space of the tangent space) that takes $1$-forms to reals. What is not stated explicitly is by what map this action happens.
In this case it is always meant the "evaluation of the $1$-form on the tangent vector" map: $$T_p(\mathbb{R}^n)\to T^{**}_p(\mathbb{R}^n); X\mapsto(f\mapsto f(X))$$