0

フォームフィールドを追加した後、アプリでページを表示しようとすると、このエラーNoMethodError in Statuses#newが表示されます...私はRuby on Railsを初めて使用するので、これを完全に理解できるようになりたいと思っています...

<%= f.input :user_id %>

完全なエラー メッセージは次のとおりです。

NoMethodError in Statuses#new

Showing /Users/danlee/Projects/treebook/app/views/statuses/_form.html.erb where line #14 raised:

undefined method `user_id' for #<Status:0x007feb53cdd138>
Extracted source (around line #14):

11:     </div>
12:   <% end %>
13: 
14:   <%= f.input :user_id %>
15:   <%= f.input :content %>
16:   <div class="form-actions">
17:     <%= f.button :submit %>
Trace of template inclusion: app/views/statuses/new.html.erb

Rails.root: /Users/danlee/Projects/treebook

Application Trace | Framework Trace | Full Trace
app/views/statuses/_form.html.erb:14:in `block in _app_views_statuses__form_html_erb__4012047659275744874_70324335923840'
app/views/statuses/_form.html.erb:1:in `_app_views_statuses__form_html_erb__4012047659275744874_70324335923840'
app/views/statuses/new.html.erb:3:in `_app_views_statuses_new_html_erb___64465850179705865_70324349236340'
app/controllers/statuses_controller.rb:29:in `new'
Request

Parameters:

None
Show session dump

Show env dump

Response

Headers:

None

アプリの Github リポジトリもここにあります: https://github.com/pixeljugglerdan/treebook

4

1 に答える 1

3

ステータスに:user_id列を追加していないようです。このファイルは、#changeメソッドのコードを実行していません:https ://github.com/pixeljugglerdan/treebook/blob/master/db/migrate/20120911210237_add_user_id_to_statuses.rb

次のような方法で移行を再実行することをお勧めします。

class AddUserIdToStatuses < ActiveRecord::Migration
  def change
    add_column :statuses, :user_id, :integer
  end
end
于 2012-09-22T22:23:00.573 に答える