联系人#new中的NoMethodError

时间:2015-09-06 00:07:55

标签: ruby-on-rails

所以我在udemy上学习这门课程并通过应用程序我被困在这里!我已经重新审视了视频并纠正了我所看到的一切。有人可以帮我解决这个错误吗?

Contacts#new

中的NoMethodError
Showing /home/ubuntu/workspace/app/views/contacts/new.html.erb where line #17 raised:
undefined method `comments' for #<Contact:0x007f490a778008>

提取的来源(第17行):

<%= form_for @contact do |f| %> 
    <div class="form-group"> 
        <%= f.label :name %> 
        <%= f.text_field :name, class: 'form-control' %> 
    </div> 
    <div class="form-group"> 
        <%= f.label :email %> 
        <%= f.email_field :email, class: 'form-control' %>
    </div> 
    <div class="form-group">
        <%= f.label :comments %>
        <%= f.text_area :comments, class: 'form-control'  %>
    </div>
    <%= f.submit 'Submit', class: 'btn btn-default' %>
<% end %>

1 个答案:

答案 0 :(得分:0)

导轨模型Contact似乎没有属性comments,根据您的评论,这是您当前的模型:

schema.rb:

ActiveRecord::Schema.define(version: 20150905160857) do 
 create_table "contacts", force: :cascade do |t| 
  t.string "name" 
  t.string "email" 
  t.string "text" 
  t.datetime "created_at" 
  t.datetime "updated_at" 
 end 
end

你有两种选择:

选项1:

而不是使用comments,请在您的视图中使用text

<%= f.label :text %>
<%= f.text_area :text, class: 'form-control'  %>

选项2:

您可以创建新迁移,以调整模型重命名列text或将列comments添加到模型中。

从rails app文件夹执行此操作:

rails g migration adjustingContact

导航到文件夹/your-app-folder/db/migrate并修改文件<datestring>_adjustingContact.rb,添加或重命名comments

执行迁移:

rake db:migrate

我希望这会有所帮助。