我有一个注册表单,它需要一个用于条款服务的复选框。我忘了在最初的脚手架上添加该栏。我以后不怎么做。请帮我解决问题。以注册形式添加复选框
1
A
回答
2
为此,您可以添加新的迁移,以将新列作为布尔字段添加到用户表中。 http://guides.rubyonrails.org/migrations.html
rails g migration AddTermsAcceptedToUsers
它会在您的db/migrate
文件夹中迁移文件。现在您需要将代码添加到它。
class AddTermsAcceptedToUsers < ActiveRecord::Migration
def change
add_column :users, :terms_accepted, :boolean, :default => false
end
end
然后做rake db:migrate
。
现在你的用户表有一列为terms_accepted
。然后将其添加为attr_accesible
。
attr_accessible :terms_accepted.
现在使用此字段并将其显示为注册页面中的复选框。
<%= f.check_box :terms_accepted%>
1
您可以为模型中的条款和条件字段创建属性acessor。 例如
class User < ActiveRecod::Base
attr_accessor :terms_and_conditions
end
和形式
<%=form_for(@user) do |f|%>
<%=f.check_box :terms_and_conditions %>
<% end %>
或者
你可以采取积极的记录 “接受” 方法的帮助。请检查http://guides.rubyonrails.org/active_record_validations.html
的 方法这验证是非常具体的Web应用程序和这个“接受”并不需要在数据库中记录的任何地方(如果你没有为它的字段,助手将只创建一个虚拟属性)。
class User < ActiveRecord::Base
validates :terms_and_conditions, acceptance: true
end
0
要添加/更新Bachans的回答,在轨道4,5你会怎么做:的
# User Controller
private
def user_params
params.require(:user).permit(:name, :email, :terms_accepted)
end
代替
# User model
attr_accessible :terms_accepted
希望工程!
相关问题
- 1. 通过复选框以嵌套形式添加记录
- 2. Rails 3:设计添加角色复选框到注册表格
- 3. 在动态添加复选框以形成时无法调整复选框
- 4. 以MVC形式验证复选框
- 5. jQuery序列化不注册复选框
- 6. 复选框未注册为已检查
- 7. jQuery以注册形式隐藏问题
- 8. 以注册形式更改数据
- 9. 如何添加复选框处于现场形式在Drupal 8
- 10. 复选框嵌套形式
- 11. 复选框的形式
- 12. PHP:复选框和形式
- 13. 将注册对话框添加到PackageMaker
- 14. 以表格形式添加选择值
- 15. 在Access 2007中以连续形式向每条记录添加复选框
- 16. 登录形式和注册形式
- 17. 使用jQuery以命名形式复选复选框
- 18. Magento CE 1.9 - 如何将注册时事通讯注册复选框添加到编辑页面?
- 19. 如何将占位符添加到Django注册形式
- 20. 如何以注册方式向asp:RadioButton控件添加注册商标符号(R)?
- 21. 查找注册表父文件夹以添加注册表
- 22. 添加注册以使用同一条指令注册
- 23. codeigniter将facebook添加为注册选项
- 24. 注册事件处理程序加载复选框
- 25. 如何为注册形式
- 26. 的Zend添加复选框多选框
- 27. 复杂的复选框形式
- 28. 以编程方式将复选框添加到NSTableView中
- 29. 以编程方式添加复选框的值
- 30. Magento与Mailchimp -----以编程方式添加复选框
在Rails 4中没有更多的attr_accessible。如果你想使用它 - 添加protected_attributes Gem到Gemfile –