我有一张名为" Customers"的桌子。该表格可见here。 "描述"是#string;" fruit"是整数。 "水果"填写表格时不会向用户显示。相反,我希望ruby自动分配值" 0"去#"水果"列如果对应答案为"描述"是"是"。因此,如果用户选择是,则表将在水果列中自动生成0,如果用户选择否,则应在列中自动生成1 ...任何想法?提前谢谢!!
答案 0 :(得分:1)
您的问题有点模糊 - 请提供更多详情。
用户如何输入是/否?
是否通过提交表单进行更新或创建? 如果是这样,你可以在动作
中写出类似的东西if params[:answer]
instance.update_attribute(fruit, true)
end
如果您要在展示页面中尝试完成此操作(请点击复选框说明)
你可以用jQuery实现这一点 即
$('.checkbox_selector/.select_box_selector').on('change', function() {
// ajax the boolean
});
我需要更多信息来回答一个不那么通用的答案 无论如何希望这有帮助
我还建议将水果设置为布尔值而不是整数。
答案 1 :(得分:1)
在用户模型中添加before_save过滤器
user.rb
class User < ActiveRecord::Base
before_save :assign_fruit
private
def assign_fruit
self.fruits = (self.description == "yes" ? 1 : 0 )
end
end