Не могу получить данные из базы данных - PullRequest
0 голосов
/ 14 сентября 2018

Как отображать значения из базы данных на странице для отображения, я не пытаюсь понять, насколько сильно я получаю эту ошибку.

undefined method `email' for nil:NilClass

development.erb.html

<% @development.each do |developer| %>
  <p><% @developer.email %></p>
<% end %>

welcome_controller.rb

class WelcomeController < ApplicationController
  def index
    @development = TeamMember.all
  end
end

model.rb

class TeamMember < ApplicationRecord
end

db schema.rb

create_table "team_members", force: :cascade do |t|
  t.string "email"
  t.string "first_name"
  t.string "last_name"
  t.string "team_text"
  t.string "image_url"
  t.datetime "created_at", null: false
  t.datetime "updated_at", null: false
end

Ответы [ 3 ]

0 голосов
/ 14 сентября 2018

Попробуйте изменить имя файла в папке приветствия на index.html.erb вместо development.erb.html

0 голосов
/ 14 сентября 2018

Вам следует изменить свой файл .erb на:

<% @development.each do |developer| %>
  <p><%= developer.email %></p>
<% end %>

Когда вы используете <% %> для запуска встроенного кода рубина, он не будет выводить результат (идеально для .each), однако, когда вычтобы полученное значение (электронная почта разработчика) выводилось в HTML, вы должны использовать <%= %>.

. Кроме того, файл должен быть найден по адресу /views/welcome/index.erb.html*1008.*

Надеюсь, это поможет.

0 голосов
/ 14 сентября 2018

Должно быть <%= developer.email %> вместо <% @developer.email %>

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