【发布时间】:2020-02-15 08:27:57
【问题描述】:
我是 Rails 新手,正在努力学习。在我的简单表单中,我创建了一个下拉选择,其中包含从名为专业的表中生成的数据。这部分工作正常,我可以选择多个值。我正在使用 mysql 数据库。
当我单击提交按钮时,我需要将所选值保存到另一个名为 users 的表中名为 my_professions 的列中。我不知道该怎么做。 我收到此错误
我的表单
<%= simple_form_for @user, url: wizard_path, method: :put do |f| %>
<%= collection_select(:f, :professions_id, Profession.where.not(name: nil), :id, :name, {:multiple => true}, {:class=>'js-example-basic-multiple', :id=>'jsmultipleddd'}) %>
<%= f.submit "Save", :class => 'btn blue' %>
<% end %>
我已尝试将此添加到用户模型中
user.rb
class User < ApplicationRecord
has_many :professions
accepts_nested_attributes_for :professions
serialize :my_professions, Array
end
这就是职业模特
professional.rb
class Profession < ApplicationRecord
belongs_to :user
end
我的参数看起来像这样
registration_steps_controller.rb
def user_params
params.require(:user).permit(:gender,:practitioner_website, :public_health_insurance, clinic_images: [], professions: [])
end
application_controller.rb
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:gender, :practitioner_website, :public_health_insurance, clinic_images: [], professions: []])
devise_parameter_sanitizer.permit(:account_update, keys: [:gender, :practitioner_website, :public_health_insurance, clinic_images: [], professions: []])
end
【问题讨论】:
标签: mysql ruby-on-rails database simple-form