在这里,我正在构建数据库驱动的单选按钮。我想知道是否有一种方法可以避免eval并且看到检查是否真实!谢谢,
索引控制器
columns = Model.column_names
以haml查看
- columns.each do |cols|
- check = "c[0].#{cols}==1? true : false" // checking value here
- negcheck = "c[0].#{cols}==0? true : false"// checking value here
- pluckid = "c[0].id"
- id = eval(pluckid)
%tbody
%td #{cols}
%td
= label_tag 'On'
= radio_button_tag("ABC",1,checked = eval(check), options = {})
= label_tag 'Off'
= radio_button_tag("xyz",0,checked = eval(negcheck), options = {})
答案 0 :(得分:0)
您可以使用[]
方法访问该值。
- columns.each do |cols|
- check = c[0][cols] == 1
- negcheck = c[0][cols] == 0
- id = c[0].id
%tbody
%td #{cols}
%td
= label_tag 'On'
= radio_button_tag("ABC", 1, checked = check, options = {})
= label_tag 'Off'
= radio_button_tag("xyz", 0, checked = negcheck, options = {})
答案 1 :(得分:0)
eval("c[0].#{cols}==1? true : false")
可以写成
c[0].send(cols) == 1