私は、ユーザーがデータベースで利用可能な学校のリストを含むフォームを選択できる単純な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のみが保存されます。
ご協力いただきありがとうございます。