Код понятен любому программисту рельсов.
Миграционный код:
class CreateBlogPosts < ActiveRecord::Migration[5.2]
def up
create_table :blog_posts do |t|
t.string "title"
t.string "subject"
t.text "content"
t.integer "likes"
t.timestamps
end
end
def down
drop_table :blog_posts
end
end
Маршрут:
resources :blogposts
Контроллер:
class BlogpostsController < ApplicationController
def index
@all = BlogPost.all
end
Модель:
class BlogPost < ApplicationRecord
end
Соответствие вида:
<h1>
<%= @all %>
</h1>
Вывод (для этого представления - / blogposts / index /):
#<BlogPost::ActiveRecord_Relation:0x00007f440816f1e0>
В консоли rails (для BlogPost.all):
Traceback (most recent call last):
1: from (irb):11
NoMethodError (undefined method `all' for #<BlogPost:0x0000000004749380>)
Проблема в следующем: в таблице blog_posts уже есть данные, которые я могу просмотреть, когда запускаю select * from blog_posts
в MySQL. Но, на мой взгляд, я получаю вывод выше, а скорее я ожидаю, что все записи будут возвращены и отображены на экране.
Что я делаю не так?
Подсказка: Мне кажется, я не следую разумным настройкам Rails.
P.S .: Я новичок в мире рельсов.