Rins(一个月Rails)PinsController中的NoMethodError #create

时间:2013-08-21 12:05:59

标签: methods devise ruby-on-rails-3.2 rubygems associations

问题解决了@skipchris(https://twitter.com/skipchris)使用调试器我们发现拼写错误。错误报告没有多大意义,但我学到了很多调查问题!

我昨晚和今天早上都在寻找解决方案,但我是铁杆新手。从我到目前为止所读到的,它认为问题与关联有关。我创建了一个没有用户的Pin(关联错误?),因此路由错误,即与Devise有关?

当我尝试创建一个新Pin时,我在本地服务器上的浏览器中出现此错误 -

  

PinsController中的NoMethodError #create

     

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

pins_controller.rb

  

def创建       

@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)

  

class User< ActiveRecord :: Base

     

设计:database_authenticatable,:registerable,#:recoverable,            :可记住的,:可跟踪的,:有效的

     

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

     

has_many:别针   

结束

1 个答案:

答案 0 :(得分:0)

是的,我肯定会创建一个用户模型,因为您尝试访问方法中的current_user.pins。你也有吗

resources :pins

或路线中的类似内容?