#ruby-on-rails
#ruby-on-rails
Вопрос:
create_table :offers do |t|
t.numeric(15,2) :total_sales
t.numeric(10,2) :price
t.numeric(10,2) :discount
end
Я получаю эту ошибку
create_offers.rb:12: syntax error, unexpected ':', expecting keyword_end
t.numeric(15,2) :total_sales
^
/home/gvpmahesh/code/present-app/present/db/migrate/20161017072207_create_offers.rb:13: syntax error, unexpected ':', expecting keyword_end
t.numeric(10,2) :price
^
/home/gvpmahesh/code/present-app/present/db/migrate/20161017072207_create_offers.rb:14: syntax error, unexpected ':', expecting keyword_end
t.numeric(10,2) :discount
^
Ответ №1:
Вы хотите использовать десятичный тип для хранения финансовых данных:
create_table :offers do |t|
t.decimal :total_sales, precision: 15, scale: 2
t.decimal :price, precision: 10, scale: 2
t.decimal :discount, precision: 10, scale: 2
end
Ознакомьтесь с официальными руководствами по миграции.
Ответ №2:
create_table :offers do |t|
t.decimal :total_sales, precision: 15, scale: 2
t.decimal :price, precision: 10, scale: 2
t.decimal :discount, precision: 10, scale: 2
end