1

私は、ユーザーがデータベースで利用可能な学校のリストを含むフォームを選択できる単純なrailsプラグインに取り組んでいます。私の問題は、学校のリストが取得されていることですが、配列内の残りの学校を選択すると、最初のアイテムのIDが取得されます。何が間違っているのでしょうか?私のコードサンプルは次のとおりです

私のユーザーモデルには

belongs_to :school

  attr_reader :school_tokens

  def school_tokens=(id)
    self.school_id = id.split(",")
  end 

それから私の学校のモデルで私は持っています

has_many :users

私の形で私は持っています

<%= f.label :school, "School Name" %>
<%= f.text_field :school_tokens %>

私のapplication.jsは次のようになります

$(function(){
  $('#user_school_tokens').tokenInput("/school_streets.json", {
      crossDomain: false,
      tokenLimit: 1
  });

ついに私の学校のコントローラーはこんな感じ

  def index
    @school_streets = SchoolStreet.where("name LIKE ?", "%#{params[:q]}%")

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @school_streets.map(&:attributes) }
    end
  end

注:学校は非常によく表示されますが、たとえばリストの2番目の学校などの学校を選択してフォームを送信すると、リストの最初の学校のIDのみが保存されます。

ご協力いただきありがとうございます。

4

1 に答える 1

0

この行tokenLimit: 1は、一度に1つの「学校」しか選択できないことを意味します。複数送信するには、これを削除してください。

于 2013-11-01T16:50:17.380 に答える