我有一个表单元素:
<%= f.collection_select :race, :id, Race.all, :id, :name, prompt: true %>
这允许您在我正在创建的文本冒险中选择您的角色竞赛.目标是让所有可用的比赛下拉,按名称选择并让params传回该比赛的id.
但是当我加载页面时,我得到了undefined method 'merge' for :name:Symbol.
我查阅了文档,我认为我做得对,但我猜不是吗?我究竟做错了什么?
And*_*nce 29
该f.说明你是在一个form_for块?这意味着方法签名f.collection_select不同于普通的collection_select.第一个参数是由自动提供的FormBuilder,所以如果:race是表单对象的一个属性,我假设它是一个Character,你只需要:
<%= f.collection_select :race, Race.all, :id, :name, prompt: true %>
Run Code Online (Sandbox Code Playgroud)
请参阅FormBuilder #collection_select方法的文档.
| 归档时间: |
|
| 查看次数: |
8832 次 |
| 最近记录: |