У меня есть форма регистрации, для которой требуется флажок. Я забыл добавить эту колонку во время начального эшафота. Я не делаю после. Пожалуйста, помогите мне решить проблему.Добавление флажка в регистрационную форму
ответ
Для этого вы можете добавить новую миграцию, чтобы добавить новый столбец в виде логического поля в таблицу users. 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%>
Вы можете создать атрибут-атрибут для условий и условий в модели. Например
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
Эта проверка очень специфичны для веб-приложений, и это «признание» не должны быть записаны в любом месте в вашей базе данных (если вы не имеете поле для него, помощник будет просто создать виртуальный атрибут).
class User < ActiveRecord::Base
validates :terms_and_conditions, acceptance: true
end
Для добавления/обновления для ответа Bachans', в Rails 4 вы могли бы сделать:
# User Controller
private
def user_params
params.require(:user).permit(:name, :email, :terms_accepted)
end
вместо
# User model
attr_accessible :terms_accepted
Я надеюсь, что работает!
- 1. Добавление поля в мою регистрационную форму
- 2. создать регистрационную форму
- 3. Убрать регистрационную форму?
- 4. node.js аутентифицировать регистрационную форму
- 5. Защитите мою регистрационную форму
- 6. Переопределить регистрационную форму FOSUser
- 7. Переопределить регистрационную форму FOSUserBundle
- 8. iOS Пройдите регистрационную форму.
- 9. Подтвердить регистрационную форму
- 10. Придумайте простую регистрационную форму
- 11. Разрешить только регистрационную форму
- 12. Создать регистрационную форму в Муле
- 13. Добавление новых полей в Magento 1,7 регистрационную форму
- 14. Не показывать регистрационную форму FOSUserBundle
- 15. Как создать регистрационную форму OpenID
- 16. openActiveSessionWithPublishPermissions показывает регистрационную форму дважды
- 17. Редактировать регистрационную форму пользователя xml
- 18. Как сделать регистрационную форму django
- 19. Как сделать регистрационную форму отзывчивой
- 20. Сделайте регистрационную форму от iframe
- 21. Задайте лимит на регистрационную форму
- 22. Как переопределить регистрационную форму FosUserBundle?
- 23. Подтвердить регистрационную форму с предупреждением
- 24. Подтвердить регистрационную форму ASP.NET MVC
- 25. не может загрузить регистрационную форму
- 26. Добавление флажка в простую форму для ввода не в модели
- 27. FOSUserBundle: как лучше всего интегрировать регистрационную форму и регистрационную форму в одном шаблоне?
- 28. Woocommerce - Как добавить новую регистрационную форму «no Captcha» Google в регистрационную форму для входа
- 29. Типы пользователей В Django, используя ту же регистрационную форму и регистрационную форму
- 30. Android Studio Вход в регистрационную форму
В Rails 4 не более attr_accessible. Если вы хотите его использовать - добавьте gemfile в атрибут protected_attributes –