我有一個註冊表單,它需要一個用於條款服務的複選框。我忘了在最初的腳手架上添加該欄。我以後不怎麼做。請幫我解決問題。以註冊形式添加複選框
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. 下拉選項以註冊表格形式選擇
- 6. jQuery序列化不註冊複選框
- 7. 複選框未註冊爲已檢查
- 8. 以註冊形式確認密碼
- 9. 以註冊形式更改數據
- 10. jQuery以註冊形式隱藏問題
- 11. 如何添加複選框處於現場形式在Drupal 8
- 12. 複選框的形式
- 13. PHP:複選框和形式
- 14. 複選框嵌套形式
- 15. 在Access 2007中以連續形式向每條記錄添加複選框
- 16. 以表格形式添加選擇值
- 17. 使用jQuery以命名形式複選複選框
- 18. 登錄形式和註冊形式
- 19. Magento CE 1.9 - 如何將註冊時事通訊註冊複選框添加到編輯頁面?
- 20. 如何以註冊方式向asp:RadioButton控件添加註冊商標符號(R)?
- 21. 如何將佔位符添加到Django註冊形式
- 22. 添加註冊以使用同一條指令註冊
- 23. 查找註冊表父文件夾以添加註冊表
- 24. codeigniter將facebook添加爲註冊選項
- 25. 註冊事件處理程序加載複選框
- 26. 用多種形式註冊
- 27. 如何爲註冊形式
- 28. 的Zend添加複選框多選框
- 29. 複數形式的複選框
- 30. 複雜的複選框形式
在Rails 4中沒有更多的attr_accessible。如果你想使用它 - 添加protected_attributes Gem到Gemfile –