无法从数据库中获取数据

问题描述 投票:-3回答:3

如何在页面上显示数据库中的值以供显示,我不会尝试多少我得到这个错误。

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
ruby-on-rails ruby-on-rails-5
3个回答
2
投票

它应该是<%= developer.email %>而不是<% @developer.email %>


0
投票

尝试将welcome文件夹中的文件名更改为index.html.erb而不是development.erb.html


0
投票

您应该将.erb文件更改为:

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

当您使用<% %>内联运行ruby代码时,它不会输出结果(非常适合.each),但是当您希望将结果值(开发人员的电子邮件)输出到HTML中时,您应该使用<%= %>

此外,该文件应位于/views/welcome/index.erb.html

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.