我有一個使用 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
uj5u.com熱心網友回復:
你試試這個方法。
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/487400.html
