Rails (erb) 标记字段/区域导致 NoMethodError

Rails (erb) labelling fields / areas causing NoMethodError

所以我搜索了围绕上述标题的所有结果,其中 none 为我提供了解决方案 - one thread 接近但不正确。

我的 RoR 代码在里面 new.html.erb:

<div class="row">
    <%= form_for @contact do |f| %>
        <%= f.label :name %>
        <%= f.text_field :name %>

        <%= f.label :email %>
        <%= f.text_field %>

        <%= f.label :comments %>
        <%= f.text_area %>
    <% end %>
</div>

导致以下错误: Image of Error

我的 routes.rb 文件有:

resources :contacts

我的 contacts.rb 文件:

class Contact < ActiveRecord::Base  
end

我的 contacts_controller 文件:

class ContactsController < ApplicationController
    def new
        @contact = Contact.new
    end

    def create
    end
end

所以我需要找出我做错了什么 - 我不想再次从头开始:(

来自Steve Turczyn

您的架构似乎不包含迁移中指定的字段。 运行 之后,您是否修改了迁移文件?那是不行的。

尝试

rake db:rollback

要取消上次迁移, 然后做

rake db:migrate

再次运行,这次架构应包括您的姓名、电子邮件和评论字段以及您的时间戳