如何在页面上显示数据库中的值以进行显示,我不尝试多少错误。
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
答案 0 :(得分:2)
应为<%= developer.email %>
而不是<% @developer.email %>
答案 1 :(得分:0)
您应该将.erb文件更改为:
<% @development.each do |developer| %>
<p><%= developer.email %></p>
<% end %>
当您使用<% %>
内联运行ruby代码时,它不会输出结果(适用于.each),但是当您希望将结果值(开发人员的电子邮件)输出到HTML时,您应该使用<%= %>
。
此外,该文件应位于/views/welcome/index.erb.html
希望这会有所帮助。