【问题标题】:no implicit conversion of String into Integer没有将 String 隐式转换为 Integer
【发布时间】:2014-11-27 23:56:34
【问题描述】:

我在选择表单时遇到问题。我正在将 Bootstrap 与 Rails 混合使用,但我有一个不起作用的选择。错误说“没有将字符串隐式转换为整数”。我不知道为什么,因为我一直在 Stackoverflow 中寻找并且我已经在我的代码中添加了相同的内容。

<%= form_for @control, :html => {:class => 'form-inline'} do |f| %>

      <div class="form-group">
        <div class="input-group">
          <%= f.label :level, class: "sr-only", for: "exampleInputEmail2" %>

          <%= f.number_field :level, class: "form-control", id: "exampleInputEmail2", placeholder: "Enter level" %>

        </div>
      </div>

      <div class="form-group container">
        <div class="row datetimeselect">
            <div class='col-sm-12'>
                <div class="form-group">
                    <div class='input-group date' id='datetimepicker1'>

                        <%= f.text_field :day, default: DateTime.current, :class => 'form-control' %>
                        <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span>
                        </span>
                    </div>
                </div>
            </div>
         </div>
     </div>

        <select class="form-group">
            <div class="input-group">

             <%= f.select :period, options_for_select([['pre-breakfast', 1], ['post-breakfast', 2],['pre-lunch', 3]['post-lunch', 4]['afternoon', 5]['pre-dinner', 6]['post-dinner', 7]]), {}, class: "form-control" %>
            </div>
        </select> 
      <%= f.submit "Save", type:"submit", class: "btn btn-default" %>

<% end %>

【问题讨论】:

    标签: ruby-on-rails twitter-bootstrap


    【解决方案1】:

    options_for_select() 方法中的问题,您缺少,

    # your code
    <%= f.select :period, options_for_select([['pre-breakfast', 1],
                                              ['post-breakfast', 2],
                                              ['pre-lunch', 3] <----- first missing comma
                                              ['post-lunch', 4] <----- again
                                              ['afternoon', 5] <----- again
                                              ['pre-dinner', 6] <----- again
                                              ['post-dinner', 7]]), {}, class: "form-control" %>
    

    只需将, 放在所有数组之后,这应该可以解决您的问题。

    应该排成一行!

    # valid syntax
    <%= f.select :period, options_for_select([['pre-breakfast', 1],
                                              ['post-breakfast', 2],
                                              ['pre-lunch', 3],
                                              ['post-lunch', 4],
                                              ['afternoon', 5], 
                                              ['pre-dinner', 6],
                                              ['post-dinner', 7]]), {}, class: "form-control" %>
    

    【讨论】:

    • 你说得对,我忘记了'',但选择没有显示任何选项。选择没有选项,我不知道为什么。
    • @DavidDsr 这应该是另一个问题。 =)
    • @DavidDsr 如果我能帮助您解决问题,请接受我的回答。编码愉快!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    相关资源
    最近更新 更多