0

@skipchris ( https://twitter.com/skipchris )のおかげで問題が解決しました。デバッガーを使用すると、スペルミスが見つかりました。エラーレポートはあまり意味がありませんでしたが、問題を調査することで多くのことを学びました!

私は昨夜と今朝、解決策を見つけようとしましたが、レールは初めてです。私がこれまで読んだことから、問題は関連付けに関係していると思います。ユーザーなしでピンを作成したため (関連付けエラー?)、ルーティングでエラーが発生しました。つまり、Devise と関係がありますか?

新しいピンを作成しようとすると、ローカル サーバーのブラウザでこのエラーが表示されます。

PinsController#create の NoMethodError

pp/controllers/pins_controller.rb:48:in block in create' app/controllers/pins_controller.rb:47:increate'

pins_controller.rb

デフォルト作成

@pin = current_user.pins.new(params[:pin])

respond_to do |format|
  if @pin.save
    format.html { redirect_to @pin, notice: 'Pin was successfully created.' }
    format.json { render json: @pin, status: :created, location: @pin }
  else
    format.html { render action: "new" }
    format.json { render json: @pin.errors, status: :unprocessable_entity }
  end
end   

終わり

ユーザーモデル (user.rb)

クラス User < ActiveRecord::Base

デバイス:database_authenticatable, :registerable, #:recoverable, :rememberable, :trackable, :validatable

attr_accessible :email, :password, :password_confirmation, :remember_me, :name

has_many :ピン

終わり

4

1 に答える 1

0

ええ、メソッドで current_user.pins にアクセスしようとしているので、間違いなくユーザーモデルを作成します。あなたも持っていますか

resources :pins

またはあなたのルートに似たものはありますか?

于 2013-08-21T12:17:19.527 に答える