未定义的方法`model_name’

我正在为专辑控制器获取这种未定义的方法并为任何解决方案建模?…

用于ActiveRecord的未定义方法`model_name’:: Relation:Class

提取的来源(第6行):

3:>>

4:新专辑

5:

6:= form_for @albums do | f |

7:= f.error_messages

8:%p

9:= f.label:名字


=link_to 'albums', albums_path >> new album = form_for @album do |f| = f.error_messages %p = f.label :name = f.text_field :name %p = f.label :description = f.text_field :description, :rows => 3 %p = f.submit %p= link_to "Back to List", albums_path 

  class AlbumsController  params[:page], :per_page => 9, :order => 'created_at DESC' respond_with @albums, :aspect => @aspect end def create aspect = params[:album][:to] @album = current_user.post(:album, params[:album]) if @album.persisted? redirect_to :action => :show, :id => @album.id, :aspect => aspect else redirect_to albums_path(:aspect => aspect) end end def new @album = Album.new end def destroy @album = current_user.find_visible_post_by_id params[:id] @album.destroy respond_with :location => albums_url end def show @person = current_user.visible_people.find_by_person_id(params[:person_id]) if params[:person_id] @person ||= current_user.person @album = :uploads if params[:id] == "uploads" @album ||= current_user.find_visible_post_by_id(params[:id]) unless @album render :file => "#{Rails.root}/public/404.html", :layout => false, :status => 404 else if @album == :uploads @album_id = nil @album_name = "Uploads" @album_photos = current_user.visible_posts(:_type => "Photo", :album_id => nil, :person_id => @person.id) else @album_id = @album.id @album_name = @album.name @album_photos = @album.photos end respond_with @album end end def edit @album = current_user.find_visible_post_by_id params[:id] redirect_to @album unless current_user.owns? @album end def update @album = current_user.find_visible_post_by_id params[:id] if current_user.update_post( @album, params[:album] ) respond_with @album else render :action => :edit end end end 

 class Album  true has_many :photos, :class_name => 'Photo', :foreign_key => :album_id validates_presence_of :name validates :person, :presence => true before_destroy :destroy_photos attr_accessible :name end 

 =form_for @albums do |f| 

应该

 =form_for @album do |f| 

@album vs @albums,只是根据你的错误信息在这里猜测,在你的代码示例中,它看起来是正确的,不确定它们可能有什么不同? 错误来自新动作?

从你的问题中发现这个错误并不清楚 – 你已经将代码发布到了六种方法,但你还没有说出哪一个导致了这个错误。 错误回溯的来源也与您在其下方粘贴的来源不匹配。

这个错误的广泛含义是你试图在一些看起来不像ActiveModel对象的东西上调用form_for (而你似乎将范围传递给form_for ,这没有意义)。 做form_for @albums肯定会触发这个。