undefined方法`merge’for:name:Symbol Rails 4.1.x collection_select

我有一个表单元素:

这允许您在我正在创建的文本冒险中选择您的角色竞赛。 目标是让所有可用的比赛下拉,按名称选择并让params传回该比赛的id。

但是当我加载页面时,我得到undefined method 'merge' for :name:Symbol

我查阅了文档 ,我认为我做得对,但我猜不是吗? 我究竟做错了什么?

f. 表示您在form_for块中? 这意味着f.collection_select的方法签名与普通的collection_select不同。 第一个参数是由FormBuilder自动提供的,所以如果:race是表单对象的一个​​属性,我假设它是一个Character,你只需要:

 <%= f.collection_select :race, Race.all, :id, :name, prompt: true %> 

请参阅FormBuilder#collection_select方法的文档。