use*_*974 1 ruby string checkbox ruby-on-rails
rails g migration add_anonymous_to_message anonymous:???
Run Code Online (Sandbox Code Playgroud)
如果我在邮件中添加标题等,那么我会把rails g migration add_title_to_message title:string但是如果:匿名是邮件提交表单中的复选框,如何将其添加到数据库中,以便只有两个选项:box checked = anonymous and box unchecked =用户名显示?
谢谢
您确定需要另一个数据库列吗?你能做的是
username:string允许NULL值的列(默认)anonymous取消选中时,保存空白用户名无效anonymous选中if时nil,无论表单值如何,用户名始终保存为blank()message.username.nil?如果由于某种原因你确实需要一个单独的DB列anonymous,它应该如下所示:
rails g migration add_anonymous_to_message anonymous:boolean
虽然并非所有RDBMS支持boolean列(MySQL都没有),但Rails通过TINYINT(1)在您指定时生成一个或类似的列来处理这个问题boolean,该列设置为0或者1.