在一个非常基本的例子中,我有两个Rails表单助手toggles
和checkbox
。我希望复选框的标记在切换块内部时不同。我试图使用一个实例变量来检查我是否在toggles
方法中,但有人说维护这样的状态会破坏在多线程应用程序中使用它的能力。什么是更好的方式?
所以基本上我想在执行toggles
时检查我是否在checkbox
内。
<%= toggles 'Select one' do %>
<%= f.checkbox 'Foo' %>
<%= f.checkbox 'Bar' %>
<%= f.checkbox 'Baz' %>
<% end %>
def toggles(*args)
@inside_toggles = true
template.concat yield
@inside_toggles = false
end
def checkbox(*args)
if @inside_toggles
...
else
...
end
end
答案 0 :(得分:0)
如果只是格式化问题,您是否尝试使用CSS?
您为辅助方法toggles
def toggles
content_tag :div, class: 'toggle'
end
然后在你的CSS中
.toggle input[type="checkbox"] {
/* special format */
}