如何使用text_field在rails中输入many_to_many关联?

时间:2018-07-25 09:20:09

标签: ruby-on-rails activerecord

我想用text_field替换选择字段(我要向其中添加自动完成功能),这样就不必每次都加载所有可能的关联。

这是表格:

  <%= form_for(Relation.new) do |f| %>
    <%= f.hidden_field :dependency_id, :value => @article.id %>
    <%= f.text_field :dependent_title %>
    <%= f.submit %>
  <% end %>

这是模型:

  def dependent_title
    dependent.try(:title)
  end

  def dependent_title=(title)
    self.dependent = Article.find_by_title(title) if title.present?
  end

当我输入标题并按“提交”时,什么也没发生。

它似乎可以在Rails控制台中工作:

irb(main):024:0> rel.dependent_title=("Optimization")
  Article Load (1.0ms)  SELECT  "articles".* FROM "articles" WHERE "articles"."title" = ? LIMIT ?  [["title", "Optimization"], ["LIMIT", 1]]
=> "Optimization"
irb(main):025:0> rel.dependent_title
=> "Optimization"
irb(main):026:0> rel.dependent_id
=> 479

1 个答案:

答案 0 :(得分:0)

我猜您正在寻找一个看起来像文本字段但可以执行选择字段和搜索选项的字段。 如果我正确理解了您的需求,则可以研究select2-一种解决您问题的jQuery解决方案。

https://select2.org/

http://select2.github.io/select2/

相关问题