将值存储到整数变量中

时间:2016-10-06 15:12:21

标签: mysql sql ruby-on-rails ruby

我有一个关于将值存储到整数变量的问题。是否可以将不同的id存储到同一个变量中? 这是我的问题,我想使用collection_select来保存很多id。 我的代码实际上是为一个变量工作,如下所示:

我的代码:

用户模型:

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

Pin model:

belongs_to :user

引脚控制器:

 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 

管脚/新(视图):

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

对于我的新观点,我想要这样的东西:

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

但是我的sql表中没有保存变量。 所以我的问题是:可以将多个id存储在同一个变量(:pin_maker)中,这是一个整数吗?或者我应该为此创建一个新表?

2 个答案:

答案 0 :(得分:2)

pin_maker是用户?如果是这样: (IMO):您需要一个n对n关联和一个表users_pins。

WriteConsoleOutputW

On Rails:

模特用户:

Logic:
One user has many pins
One pin may be made by many users 

模特别针:

has_many pins, :through => :users_pins

答案 1 :(得分:0)

尝试使用has_many:用户参与您的关联