Переменные базы данных Ruby on Rails не работают - PullRequest
0 голосов
/ 25 июля 2011

Я новичок в Rails и работаю на основе кода друга: http://pastebin.com/6HwT6CBs

Когда я пытаюсь манипулировать переменной (например, precision_ratio), Rails выдает мне ошибки. Пример:

@post = Post.new(params[:post]) #These lines work fine
@post.user = current_user
@post.name = @post.user.name

@post.accuracy_ratio = 1.0 #This one throws an error

В NetBeans Rails, когда я набираю "@post.", Переменные user и name всплывают под помощником автозаполнения, но не precision_ratio.

Я думаю, это потому, что мне нужно, чтобы Rails перенастроил изменения, которые я вносил в таблицу. Это правда? Если нет, кто-нибудь знает, как я могу решить это?

edit: большое спасибо, ребята. как я уже сказал, я рубиновый скраб. после запуска rake db: migrate у меня получилось.

Ответы [ 2 ]

1 голос
/ 26 июля 2011

Activerecord изменит вашу модель в зависимости от того, что он находит в таблице базы данных.Если вы запустили миграцию, а таблица содержит столбец, значит, что-то не так.Вы можете перезагрузить "перезагрузить!"и проверьте модель, чтобы увидеть, есть ли у нее новый столбец.

Вы должны загрузить консоль и просто ввести Post, чтобы увидеть, какие поля у нее есть.Я не слишком знаком с NetBeans для Rails.Я использую Rubymine и текстовую консоль.

0 голосов
/ 25 июля 2011

Вы уверены, что тип 'double' вообще существует?Похоже, ваша миграция просто не удалась.Вместо этого используйте число с плавающей запятой или десятичное число (в зависимости от ваших требований).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...