[英]Multiselect with Devise and simple_form
我有一個使用 Devise 和 simple_form 來注冊和驗證用戶的 rails 應用程序。 我想添加另一個首選項表,以便用戶可以有多個首選項,並且可以將首選項分配給多個用戶。
我跟着這個: https ://dev.to/neshaz/join-table-in-rails-23b5
並與連接表建立了各自的關聯,我可以在我的表單上查看復選框多選。 但是我在處理注冊控制器頁面中的參數時遇到了困難。 對於上下文,這就是我所擁有的:
注冊控制器.rb
def configure_sign_up_params
devise_parameter_sanitizer.permit(:sign_up) do |u|
u.permit({ account_attributes: [:username], invite_request_attributes: [:text] }, :company, :email, :password, :password_confirmation, :invite_code, :agreement, :website, :confirm_password)
end
結尾
_registration.html.haml:
- for preference in Preference.all
= check_box_tag "preference[user_ids][]", preference.id
= h preference.pref
你試試這個方法。
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:name, preference_ids: []])
devise_parameter_sanitizer.permit(:account_update, keys: [:name, :website, :bio])
end
end
_registration.html.haml:
- for preference in Preference.all
= check_box_tag "user[preference_ids][]", preference.id
= h preference.pref
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.