前提・実現したいこと
ツール:Ruby on Rails
実装したい内容:
①ユーザが当てはまる質問のチェックボックスにチェックを入れていく。
②各質問(@point)にそれぞれの得点(:tokuten)を割り振っておく
③collection_check_boxesを使ってチェックしたところの得点をuser作成時に受け取る
##発生している問題・エラーメッセージ
※すんなりUser作成が出来る場合と上記のErrorが出る場合があります。つまりチェックするボックスによってErrorが出る時と出ないときがあります。
どうしてでしょうか。
該当のソースコード
users_controller.rb
def create @user = User.new(user_params) if @user.save flash[:success] = "アカウントの作成に成功しました!" redirect_to @user else flash.now[:danger] = "アカウントの作成に失敗しました。もう一度お試しください" render 'new' end end private def user_params params.require(:user).permit(:name, :email, :password, :password_digest, { :point_ids => [] }) end
new.html.erb
<% provide(:title, "Sign Up") %> <div class="text-center"> <h1>Sign Up</h1> </div> <div class="row"> <div class="col-md-offset-3 col-md-6"> <%= form_for(@user, url: signup_path) do |f| %> <%= render 'shared/error_messages' %> <div class="form-group"> <%= f.label :name %> <%= f.text_field :name, class: "form-control" %> </div> <div class="form-group"> <%= f.label :email %> <%= f.email_field :email, class: "form-control" %> </div> <div class="form-group"> <%= f.label :password %> <%= f.password_field :password, class: "form-control" %> </div> <div class="form-group"> <%= f.label :password_confirmation, "Confirmation" %> <%= f.password_field :password_confirmation, class: "form-control" %> </div> <div class="form-group"> <%= collection_check_boxes(:user, :point_ids, Point.all, :tokuten, :content) do |b| %> <div class="checkbox-wrap"> <%= b.label { b.check_box + b.text } %> </div> <% end %> </div> <%= f.submit "Create My Account", class: "btn btn-primary btn-block" %> <% end %> </div> </div>
##補足情報
point_ids
が正しく送信されてないのではないかと思いましたが実際のところよく分かりませんでした。
何卒よろしくお願い致します。
あなたの回答
tips
プレビュー