当我在新页面的表单中输入信息时,它允许您选择创建页面的作者,这一切都正常。
当我去保存页面时,我收到此错误
ActiveRecord::AssociationTypeMismatch in PagesController#create
Author(#2162588860) expected, got String(#2151988680)
它还说我在创建动作和show动作中的Pages_controller中遇到了问题。
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 to author,它保存了一个没有在表单中输入的内容的空记录。我应该在params中加入什么?或者在创建和展示动作中。
谢谢
答案 0 :(得分:0)
看起来,就像你试图在你需要设置author_id时将author param设置为string。我可以说,你在表单中使用选择控件,建立如下:
f.select(:author, ... )
而不是
f.select(:author_id, ... )