Welcome to edit my post to revise any mistakes, especially English, thanks.
Proposition
Assuming $f(x),g(x)$ are integer polynomials, and $g(x)$ is primitive.
If $f(x)=g(x)h(x)$, where $h(x)$ is rational polynomial, then $h(x)$ must be polynomial with integer coefficients.
Proof:
$f(x)=g(x)h(x)=g(x)a h_1(x)=a g(x)h_1(x)=a f_1(x)$,
where $a$ is rational number and $h_1(x)$ and $f_1(x)$ are primitive polynomials.
If $a$ is not an integer number, then $f(x)$ should not be an integer polynomial which lead to contradiction with the assumption.
so $h(x)$ must be integer polynomial.