我正在开发一个简单的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
注意:学校表现得非常好,但是当我选择一所学校时,例如列表中的第二所学校,并提交表格,只保存列表中第一所学校的ID。
感谢您的帮助。
答案 0 :(得分:0)
行tokenLimit: 1
表示您一次只能选择一个“学校”。删除它以提交多个。