簡體   English   中英

使用 Devise 和 simple_form 進行多選

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM