当我为新页面输入信息时,它允许您选择哪个作者创建了该页面,这一切都很好。
当我去保存页面时,我得到这个错误
ActiveRecord::AssociationTypeMismatch in PagesController#create
Author(#2162588860) expected, got String(#2151988680)
它还说我的Pages_controller在create action和show action中有问题
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 show
@page = Page.find(params[:id])
结束我已经将params:id更改为author,它保存了一个空记录,其中没有在表单中输入的任何内容。我应该在参数中输入什么?或者在创建和显示操作中。
谢谢
看起来,就像您试图将作者参数设置为字符串,而您需要设置author_id。我可以假设,你在表单中使用了选择控件,像这样构建:
f.select(:author, ... )
不是f.select(:author_id, ... )