微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Rails form_for与collection_select

如何解决Rails form_for与collection_select

| 我正在尝试创建一个创建Rank类实例的字段。它已经有一个注释字段,用于设置ѭ0,但是现在我想添加一个显示如下内容的下拉列表: 1:糟糕,2:贫穷,3:中等,4:良好,5:伟大 我希望这些将params [:ranking] [:score]的值设置为1-5,以便在我的create方法中可以执行以下操作:
 @ranking = Ranking.new( #....
                        :score => params[:ranking][:score])
我的表格现在看起来像这样:
<%= form_for([@essay,@ranking]) do |f| %>
  <%= render \'shared/error_messages\',:object => f.object %>
  <div classs=\"field\">
    <%= f.text_area :comment %>
  </div>
  <div classs=\"field\">
      <%= #something here!%>
  </div>
  <div class=\"actions\">
    <%= f.submit \"Submit\" %>
  </div>
<% end %>
我知道我需要使用
collection_select
,但我无法使其正常工作。     

解决方法

        您应该只可以使用常规的
select
助手来完成以下任务:
f.select :score,[[\'horrible\',1],[\'poor\',2],[\'mediocre\',3],[\'good\',4],[\'great\',5]]
如果您有得分模型,则应使用
collection_select
。就像是:
f.collection_select :score_id,Score.all,:id,:name
请参阅API文档以获取collection_select     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。