【问题标题】:Check_box_tag not displaying labels properlyCheck_box_tag 未正确显示标签
【发布时间】:2014-06-19 06:28:36
【问题描述】:

一切都正确发布,但我在我的复选框中看不到任何标签,只是空白。我的表单如下所示:

          <%= form_for @itemrecord do |f| %>

            <div class="col-xs-12">
              <p><b>Items people are asking for</b></p>
            </div>

            <% @wishlist.each do |category, list| %>
              <div class="col-xs-2">
                <div class="form-group box">
                  <h5> <%="#{category}"%> </h5>
                    <% list.each do |thing| %>
                        <%= check_box_tag ":item_name[]", "#{thing}" %>
                      </br>
                    <% end %>
                </div>
              </div>  
            <% end %>

              <%= f.submit "Go!", class: "btn btn-primary btn-large btn-block" %>
            </div>

          <% end %>

发生的事情是wishlist 是我在控制器中设置的那些类别中的类别和项目的哈希,然后由多个表单构建器调用以构建复选框。挑战在于,现在在当前的实现中,复选框参数被正确传递(FYI 控制器代码在底部),但在每个复选框旁边,没有显示 thing 的文本(即,没有标签以便人们知道他们在检查什么。

这是为一个复选框生成的 html(所有复选框都相同)

基本上,我需要将value 设为标签。


仅供参考,发生的情况是,对于每个检查的项目,都会创建一条记录。这是控制器代码:

def create

    items_to_be_saved = []
    inventory_params.each do |i|
      items_to_be_saved << ({ :signup_id =>    Signup.find_by_email(session[:signup_email]).id, :item_name => i })
    end

    if Inventory.create items_to_be_saved
      flash[:success] = "Thanks!"
      redirect_to root_path
    else
      render new_inventory_path
    end
end

def inventory_params
  params.require(":item_name")
end

【问题讨论】:

    标签: ruby-on-rails forms checkbox form-helpers


    【解决方案1】:

    在您的代码中:

    <%= check_box_tag ":item_name[]", "#{thing}" %>
    

    check_box_tag 的第二个参数不是标签值,它只是参数中传递给控制器​​的值。如果您不想在复选框中显示标签,则需要在视图中调用 label_tag

    = label_tag ':item_name[]', thing
    = check_box_tag ':item_name[]'
    

    但您绝对应该检查simple_form gem,它可以让您以更简洁的方式呈现复选框:

    f.input :field, as: :boolean, inline_label: 'Label'

    【讨论】:

      【解决方案2】:

      你可以试试,让我知道

      <%= check_box_tag 'item_name[]', thing %>
      

      【讨论】:

      • 这没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多