ruby-on-rails – Options_for_select – 如何选择数据库中的内
发布时间:2020-12-16 21:06:39 所属栏目:百科 来源:网络整理
导读:我有一个复杂的形式(如Ryan B的复杂形式Railscasts),我有几个级别的数据库表同时被更改. 此下拉框的代码的作用是它向数据库提供正确的整数.但是,尽管进行了多次尝试,但我无法正确反映数据库的CURRENT值.我该如何理清这段代码? %= o.select :weighting,optio
我有一个复杂的形式(如Ryan B的复杂形式Railscasts),我有几个级别的数据库表同时被更改.
此下拉框的代码的作用是它向数据库提供正确的整数.但是,尽管进行了多次尝试,但我无法正确反映数据库的CURRENT值.我该如何理清这段代码? <%= o.select :weighting,options_for_select([ ["Correct","4",{:class=>"bold"}],["Good","3"],["Average","2"],["Poor","1"],["Incorrect","0",{:class=>"bold"}] ],:weighting),{},html_options = {:class => "listBox",:style=>"float:left;"} %> 谢谢. 解决方法
你走在正确的轨道上,但并不完全在那里.
而options_for_select的最后一个参数应该是所选选项的值.您提供的值:加权是与您给定的任何选项的值不匹配的符号. 您需要提供实际值.如果您使用实例对象来构建表单,请使用 <%form_for @whatever do |o|%> ... 你可以简单地使用@ whatever.weighting.to_s,如: <%= o.select :weighting,@whatever.weighting.to_s),:style=>"float:left;"} %> 否则,有一种方法可以从窗体块变量o中获取对象.但这与内部情况有关,可能会随着升级而改变. 编辑:如果您正在使用字段和多个部分,则可以使用对象访问器从表单构建器块变量中获取特定对象. 重用上面这样的例子来使用表单中该实例的每个子实例的当前权重. <% form_for @parent do |p| %> ... <% p.fields_for :children do |c| %> ... <%= c.select :weighting,options_for_select([ ["Correct",c.object.weighting.to_s),:style=>"float:left;"} %> ... <% end %> <% end %> 这也可以用于部分. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |