Rails 4:如何通过AJAX基于另一个collection_select更新一个collection_select?

菲利普峡谷

问题:我需要根据组织集合的选择来过滤单位集合

选择组织后单位下拉菜单应刷新以仅显示属于已知组织单位

我检查了以下问题:

这些文档:

到目前为止,这是我的代码:

楷模

class Organization < ActiveRecord::Base
  has_many :units
  has_many :projects, through: :units
end
class Unit < ActiveRecord::Base
  belongs_to :organization
  has_many :projects
end
class Project < ActiveRecord::Base
  belongs_to :organizaton
  has_one :organization, through: :unit
end

查看 app / views / projects / _form.html.erb

<%= form_for(@project) do |f| %>

  <div class="field">
    <%= f.label :name %><br>
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :description %><br>
    <%= f.text_area :description %>
  </div>
  <div class="field">
    <%= f.label :organization_id %><br>
    <%= f.collection_select :organization_id, Organization.all, :id, :name %>
  </div>
  <div class="field">
    <%= f.label :unit_id %><br>
    <%= f.collection_select :unit_id, Unit.all.where(organization_id: :organization_id), :id, :name %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

控制器 项目控制器

def new
  @project = Project.new
end

def project_params
  params.require(:project).permit(:name, :description, :organization_id, :unit_id)
end

我该如何进行这项工作?

菲利普峡谷

我做到了,解决方案非常简单,但是由于缺少有关此简单问题的更新资料,因此使它比应做的事情繁琐得多:

config / routes.rb

 get 'filter_units_by_organization' => 'projects#filter_units_by_organization'

controllers / projects_controller.rb

def filter_units_by_organization
  @filtered_units = Unit.where(organization_id: params[:selected_organization])
end

视图/项目/filter_units_by_organization.js.erb

$('select#project_unit_id').html('<%= j options_from_collection_for_select(@filtered_units, :id, :name) %>');

资产/javascripts/application.js

$(function() {
    $("select#project_organization_id").on("change", function() {
        $.ajax({
            url:  "/filter_units_by_organization",
            type: "GET",
            data: { selected_organization: $("select#project_organization_id").val() }
        });
    });
});

views / projects / _form.html.erb

<div class="field">
    <%= f.label :name %><br>
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :description %><br>
    <%= f.text_area :description %>
  </div>
  <div class="field">
    <%= f.label :organization_id %><br>
    <%= f.collection_select :organization_id, Organization.all, :id, :name, { prompt: 'Please select' } %>
  </div>
  <div class="field">
    <%= f.label :unit_id %><br>
    <%= f.collection_select :unit_id, Unit.all.where(organization_id: :organization_id), :id, :name %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails 4:如何通过AJAX基于另一个collection_select更新一个collection_select?

来自分类Dev

Rails 4 collection_select从另一个模型

来自分类Dev

Rails:在一个collection_select中记录两个模型

来自分类Dev

在Rails haml模板中将一个类添加到collection_select

来自分类Dev

Rails-在collection_select中返回一个字符串值

来自分类Dev

Rails 3.2.12以依赖于第一个collection_select的选择的形式选择第二个元素

来自分类Dev

Rails 4动态Collection_Select

来自分类Dev

如何从 collection_select rails 处理数组

来自分类Dev

如何在Rails 4中禁用collection_select

来自分类Dev

Rails 4:通过另一个访问模型

来自分类Dev

Rails 4:通过另一个访问模型

来自分类Dev

Ruby on Rails-填写表单时更新collection_select

来自分类Dev

在Rails中更新嵌套的fields_for和collection_select

来自分类Dev

Rails collection_select传递ID

来自分类Dev

Rails处理collection_select的列表

来自分类Dev

rails 4-连接collection_select中的字段

来自分类Dev

Rails 4:collection_select是否不插入“ class”属性?

来自分类Dev

Rails collection_select如何正确引用哈希?

来自分类Dev

Rails collection_select与f.collection_select

来自分类Dev

Rails 4,Cocoon,ERB模板,如何在“编辑操作”中选择一个options_from_collection_for_select?

来自分类Dev

Rails 4,Cocoon,ERB模板,如何在“编辑操作”中选择一个options_from_collection_for_select?

来自分类Dev

如何在Rails中通过JavaScript函数添加collection_select和text_area?

来自分类Dev

如何在Rails中从另一个模型更新并保存一个模型?

来自分类Dev

Ruby on rails collection_select。多个和远程不能一起工作

来自分类Dev

ruby-on-rails collection_select排除一些选择

来自分类Dev

Rails 5 collection_select:在一列中显示多个属性

来自分类Dev

Rails 4 +枚举:如何对collection_select中的值进行大写?

来自分类Dev

Rails collection_select +引导程序下拉列表

来自分类Dev

Rails:具有多个嵌套关联的集合的collection_select

Related 相关文章

  1. 1

    Rails 4:如何通过AJAX基于另一个collection_select更新一个collection_select?

  2. 2

    Rails 4 collection_select从另一个模型

  3. 3

    Rails:在一个collection_select中记录两个模型

  4. 4

    在Rails haml模板中将一个类添加到collection_select

  5. 5

    Rails-在collection_select中返回一个字符串值

  6. 6

    Rails 3.2.12以依赖于第一个collection_select的选择的形式选择第二个元素

  7. 7

    Rails 4动态Collection_Select

  8. 8

    如何从 collection_select rails 处理数组

  9. 9

    如何在Rails 4中禁用collection_select

  10. 10

    Rails 4:通过另一个访问模型

  11. 11

    Rails 4:通过另一个访问模型

  12. 12

    Ruby on Rails-填写表单时更新collection_select

  13. 13

    在Rails中更新嵌套的fields_for和collection_select

  14. 14

    Rails collection_select传递ID

  15. 15

    Rails处理collection_select的列表

  16. 16

    rails 4-连接collection_select中的字段

  17. 17

    Rails 4:collection_select是否不插入“ class”属性?

  18. 18

    Rails collection_select如何正确引用哈希?

  19. 19

    Rails collection_select与f.collection_select

  20. 20

    Rails 4,Cocoon,ERB模板,如何在“编辑操作”中选择一个options_from_collection_for_select?

  21. 21

    Rails 4,Cocoon,ERB模板,如何在“编辑操作”中选择一个options_from_collection_for_select?

  22. 22

    如何在Rails中通过JavaScript函数添加collection_select和text_area?

  23. 23

    如何在Rails中从另一个模型更新并保存一个模型?

  24. 24

    Ruby on rails collection_select。多个和远程不能一起工作

  25. 25

    ruby-on-rails collection_select排除一些选择

  26. 26

    Rails 5 collection_select:在一列中显示多个属性

  27. 27

    Rails 4 +枚举:如何对collection_select中的值进行大写?

  28. 28

    Rails collection_select +引导程序下拉列表

  29. 29

    Rails:具有多个嵌套关联的集合的collection_select

热门标签

归档