collection\u select未保存数据

axr492tv  于 2021-06-24  发布在  Mysql
关注(0)|答案(0)|浏览(148)

我在一个简单的动作中遇到了一些问题。为了解释上下文,我正在创建一个新的pin,在这里我们可以从user表中标记绘画的艺术家(:pin_maker)。唯一的条件是用户当前是艺术家,一切看起来都很好,但当我运行create函数时,它不会保存我的艺术家选择(或:pin maker)
我的代码:
艺术家的范围=

scope :artist, -> { where(artist: true) }

新pin(视图)=

<div class="form-group">
<%= f.collection_select(:pin_maker, @users, :id, :pseudo, { }, {:multiple => true}) %>

控制器引脚=

class PinsController < ApplicationController
  before_action :authenticate_user!
  before_action :find_pin, only: [:show, :edit, :update, :destroy, :upvote, :downvote]

  def index 
    @pins = Pin.all.order("created_at DESC")
  end 

  def show 
  end 

  def new
   @pin = Pin.new
   @users = User.all.artist
  end

  def create 
    @pin = current_user.pins.build(pin_params)
    if @pin.save 
      redirect_to @pin, notice: "successfully created!"
    else 
      render 'new'
    end
  end 

  def edit 

  end 

  def update 
    if @pin.update(pin_params)
      redirect_to @pin, notice: "successfully updated !"
    else 
      render 'edit'
    end
  end 

  def destroy
    @pin.destroy
    redirect_to root_path
  end 

  def upvote 
    @pin.upvote_from current_user
    redirect_to :back
  end 

  def downvote
    @pin.downvote_from current_user
    redirect_to :back
  end 

  private

  def pin_params
    params.require(:pin).permit(:title, :description, :image, :pin_maker)
  end 

  def find_pin
    @pin = Pin.find(params[:id])
  end 

end

所以如果你知道我应该改变什么来解决这个问题,我就来了!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题