Ruby on rails—在尝试检索子记录时未初始化常量model1::model2



我有两个模型,一个用于页面,一个用于作者。

我几乎得到它显示哪个作者属于页面,但不断得到一个错误,说:

uninitialized constant Page::Authors

我在我的页面控制器@pages = @author.pages中为作者定义了一个方法,不确定它是否正确。这是我的控制器代码

class PagesController < ApplicationController
  def index
    @pages = Page.find(:all, :order => 'created_at DESC')
  end
  def show
    @page = Page.find(params[:id])
  end
  def new
    @page = Page.new
  end
  def edit
    @page = Page.find(params[:id])
  end
  def create
    @page = Page.new(params[:page])
      if @page.save
          redirect_to(@page, :notice => 'Page was successfully created.')
      else
          render :action => "new"
      end
  end
  def update
    @page = Page.find(params[:id])
      if @page.update_attributes(params[:page])
        redirect_to(@page, :notice => 'Page was successfully updated.')
      else
        render :action => "edit"
      end
  end
  def destroy
    @page = Page.find(params[:id])
    @page.destroy
  end
  def author
   @pages = @author.pages
  end
end

这是我的作者控制器:

class AuthorsController < ApplicationController
  def index
    @authors = Author.find(:all, :order => 'created_at DESC')
  end
  def show
    @author = Author.find(params[:id])
  end
  def new
    @author = Author.new
  end
  def edit
    @author = Author.find(params[:id])
  end
  def create
    @author = Author.new(params[:author])
      if @author.save
        redirect_to(@author, :notice => 'Author was successfully created.') 
      else
        render :action => "new" 
    end
  end
  def update
    @author = Author.find(params[:id])
      if @author.update_attributes(params[:author])
       redirect_to(@author, :notice => 'Author was successfully updated.') 
      else
        render :action => "edit" 
    end
  end
  def destroy
    @author = Author.find(params[:id])
    @author.destroy
  end
  def author_id
    @author = @pages.author
  end
end

我只是想显示谁已经创建了页面,我正在使用从表单中选择,以获得已经进入数据库的作者。当您创建一个新页面时,选择列表被选中并输入内容,然后当您显示新的或显示模板时,错误发生了。

在我的模型中,我已经说过belongs_to:author和has_many:pages。

我接近了。

任何想法都会很棒。由于

这里缺少的是堆栈跟踪,它显示了问题行的执行位置。常见的错误是引用Authors类而不是实际的Author,并以这样的错误结束。你所粘贴的内容似乎没有任何问题。

如果Author has_many :pagesPage belongs_to :author,那么这应该工作

相关内容

  • 没有找到相关文章

最新更新