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

注意:学校显示得很好,但是当我选择一所学校时,例如列表中的第二所学校,并提交它保存的表格,其中只有第一所学校的 id 在列表中。

谢谢你的帮助。

4

1 回答 1

0

The line tokenLimit: 1 means you can only select one 'school' at a time. Remove this to submit multiple.

于 2013-11-01T16:50:17.380 回答