Hi, pay = PayRate.find(:all, :select => "base_amount, special_amount", :conditions => ["deleted_yn=0 and pay_type_id = ?", @product.pay_type_id])
You got the array of records from PayRate table because you find all records based on that conditions.. So you have to use loop
you can try this
pay.each {|p| puts p.base_amount}
If you use find :first your code is correct
@product.amount = pay.base_amount @product.special = pay.special_amount
Regards Abirami