复选框值未保存在Ruby on Rails应用程序中的表单中

我有一个表单,不会保存用户通过复选框选择的信息。 我猜我写的form_for不正确。 我有一个用户模型,它将复选框列表存储在一个数组中。 我非常感谢有关如何保存用户在复选框中输入的信息的帮助。 我的设置如下:

_form.html

https://stackoverflow.com/questions/24987176/checkbox-values-not-saved-in-form-in-ruby-on-rails-application/ https://stackoverflow.com/questions/24987176/checkbox-values-not-saved-in-form-in-ruby-on-rails-application/  
  • <input type="checkbox" name="user_amenities_indicies[]" value="https://stackoverflow.com/questions/24987176/checkbox-values-not-saved-in-form-in-ruby-on-rails-application/"> https://stackoverflow.com/questions/24987176/checkbox-values-not-saved-in-form-in-ruby-on-rails-application/

user.rb

 require 'elasticsearch/model' class User < ActiveRecord::Base include Elasticsearch::Model include Elasticsearch::Model::Callbacks authenticates_with_sorcery! validate :amenities def self.numerical_options ["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16+"] end def self.amenities_list ["Smoking Allowed", "Pets Allowed", "TV", "Cable TV", "Internet", "Wireless Internet", "Air Conditioning", "Heating", "Elevator in Building", "Handicap Accessible", "Pool", "Kitchen", "Free parking on premise", "Doorman", "Gym", "Hot Tub", "Indoor Fireplace", "Buzzer/Wireless Intercom", "Breakfast", "Family/Kid Friendly", "Suitable for Events", "Washer", "Dryer"] end def self.integer_from_options_list(options_list) # convert options list given by radio buttons into one-hot integer amenities = 0; if options_list options_list.each do |option| amenities += 2 ** option.to_i end end amenities end def self.find_with_filters(filters) filtered_users = User if filters[:amenities] amenities = User.integer_from_options_list(filters[:amenities]) filtered_users = filtered_users.where("amenities & ? = ?", amenities, amenities) end end def set_amenities_from_options_list!(options_list) self.amenities = User.integer_from_options_list(options_list) end def boolean_array_from_amenities_integer [].tap do |amenities_list| User.amenities_list.length.times do |order| amenities_list < 0) end end end end 

users_controller.rb

  def create @user = User.new(user_params) @user.set_amenities_from_options_list!(params[:user_amenities_indicies]) if @user.save flash[:success] = "Thank you for signing up! A confirmation email has been sent to your inbox" redirect_to users_path else render :new end end 

视图/用户/索引/ _user_list.html.erb

 
    https://stackoverflow.com/questions/24987176/checkbox-values-not-saved-in-form-in-ruby-on-rails-application/ https://stackoverflow.com/questions/24987176/checkbox-values-not-saved-in-form-in-ruby-on-rails-application/
  • https://stackoverflow.com/questions/24987176/checkbox-values-not-saved-in-form-in-ruby-on-rails-application/

视图/用户/索引/ _user.html.erb

 
  • <a href=https://stackoverflow.com/questions/24987176/checkbox-values-not-saved-in-form-in-ruby-on-rails-application/ class="user-image-wrapper"> https://stackoverflow.com/questions/24987176/checkbox-values-not-saved-in-form-in-ruby-on-rails-application/ https://stackoverflow.com/questions/24987176/checkbox-values-not-saved-in-form-in-ruby-on-rails-application/ https://stackoverflow.com/questions/24987176/checkbox-values-not-saved-in-form-in-ruby-on-rails-application/

    https://stackoverflow.com/questions/24987176/checkbox-values-not-saved-in-form-in-ruby-on-rails-application/

  • 在控制台中,我得到:

     "user_amenities_indicies"=>["0", "1", "2"], "commit"=>"Update User", "id"=>"3"} Connection refused - connect(2)