Вы отправляете имена переменных в sqlite, а не их значения.Это то, что вы хотите:
db.execute( "INSERT into OUTPUTS (user_id,eac,pac,vac,iac,epv,ppv,vpv)
VALUES (10,#{@eac},#{@pac},#{@vac},#{@iac},#{@epv},#{@ppv},#{@vpv});" )
Но еще лучше было бы использовать привязку переменных следующим образом:
db.execute( "INSERT into OUTPUTS (user_id,eac,pac,vac,iac,epv,ppv,vpv)
VALUES (10,?,?,?,?,?,?,?)",
@eac,@pac,@vac,@iac,@epv,@ppv,@vpv)
(я мог ошибиться в подсчете).
Ознакомьтесь с Как использовать заполнители в выражении SQL? , чтобы узнать больше.