我正在开发一个简单的 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 在列表中。
谢谢你的帮助。