我已经渲染了选择。但我不能为我的标签标签添加“for”属性。 怎么做对的? 感谢。
i = 1
counties.each do |county|
li class: "city" do
span id: "check_#{i}" do
check_box_tag county.name, county.id
end
label for: "check_#{i}", class: "city-name-main" do
county.name
end
i += 1
end
end
答案 0 :(得分:0)
不幸的是:for
属性在special meaning库中有Arbre,用于标识与标记关联的ActiveModel。因此,for
是无法使用Arbre DSL设置的少数HTML属性之一。
根据您的使用情况,您可以使用ERB(或其他模板库)渲染部分内容。或者假设您要向ActiveAdmin表单添加复选框,可以通过ActiveAdmin表单块中的formtastic完成:
ActiveAdmin.register User do
form do |f|
f.inputs do
f.input :country, as: :check_boxes, collection: counties
end
end
end
答案 1 :(得分:0)
f.input:countries,as :: check_boxes,:multiple => true,member_label :: name
member_label将标签设置为复选框。 contries是嵌套模型的namr。如果要设置集合,请执行此操作
f.input:countrie,as :: check_boxes,:multiple => true,member_label :: name,collection:Countries.all.map {| t | [t.country_name,t.id]}