NoMethodError при изменении базы данных - PullRequest
0 голосов
/ 27 марта 2019

Я делаю упражнение для начинающих для рельсов.Я создаю приложение, которое создает новую статью в базе данных.У меня есть:

class CreateArticles < ActiveRecord::Migration[5.2]
  def change
    create_table :articles do |t|
      t.string :title
      t.text :body

      t.timestamps
    end
  end
end

Когда я запускаю Article.string, я получаю следующее сообщение:

NoMethodError (undefined method `title=' for #<Article:0x00007f8d5d4d6100>)

Приложение не распознает методы string и text,Я использую ruby ​​2.5.3.Учебник использует 2.2.Может ли это быть проблемой? Есть мысли по этому поводу?

Ответы [ 3 ]

0 голосов
/ 27 марта 2019

Run

article = Article.new article.title => nil

article = Article.new article.title = 'Your name' article.body = 'Some text' article.save

Поскольку к заголовку может обращаться любой экземпляр Статьи, используя ORM.

Здесь строка является типом данных для заголовка вашего столбца. Не метод

PS: Пожалуйста, запустите rake db: migrate, если он дает ошибку миграции.

0 голосов
/ 14 апреля 2019

Спасибо всем.По какой-то причине понижение версии ruby ​​устранило проблему.

0 голосов
/ 27 марта 2019

попробуйте эту команду

rails g model Article title:string body:text

Но я думаю, что проблема в методе Article.string, который вы упомянули.Может быть, вы хотите сделать Article.all вместо того, чтобы запрашивать все записи из таблицы статей из базы данных?

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