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方法的文档。