【发布时间】: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