0
今天是我看着Ruby on Rails的第一天,现在我被卡住了。我有两个脚手架,artist
和song
。Ruby on Rails:通过collection_select提交指向另一个控制器的表单
在songs/new.html.erb
,我有这行:
...
<%= f.label :name %><br />
<%= f.text_field :name %>
...
<%= f.label :Artist %>
<%= collection_select(:song, :Artist, @artists, :id, :sort_name) %>
...
在表单创建一个新的歌曲,我希望有一个<select>
清单,所有的艺术家。使用上面的代码很好。表单按照我的意愿创建,并列出艺术家。然而,在提交新首歌的时候,我得到这个错误:
Artist(#69916999335860) expected, got String(#69917057438720)
的选择看起来像这样生成的HTML代码:
<select id="song_Artist" name="song[Artist]">
<option value="1">Vreeswijk, Cornelis</option>
<option value="2">De lyckliga kompisarna</option>
<option value="3">Wiehe, Mikael</option>
<option value="4">Demian, Lars</option>
<option value="5">Sundström, Stefan</option>
</select>
我猜collection_select()
的倒数第二个参数是错误的,但它应该是什么?
由于发现!你的电话号码是什么? ;) – Johan 2010-08-02 20:36:19