问题标签 [collection-select]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
557 浏览

ruby-on-rails-4 - Rails 4:如何在我的表单中使用 collection_select 获取所选项目的值 [id]

在我的控制器中,我想做以下事情:

@food.subs 返回一个 ActiveRecord::Associations::CollectionProxy ,例如:

在我的表单中单击 f.submit 时,它会触发 push_sub 操作,该操作将新的@sub 推送到所选项目 (@food) 的关联中。

我不知道如何在我的表单中获取所选食物的 ID,以便我可以在我的控制器中使用它。

这是我的表格:

非常感谢您的帮助。

大家新年快乐 !

安托万

更新

我有 3 个具有 has_many through 关系的模型:食物(例如:巧克力)、子(巧克力食品替代品)、联合(联合表)。

0 投票
2 回答
2978 浏览

ruby-on-rails - Rails has_many :through with collection_select 表单助手

我在创建一个可以保存我的 has_many 的表单时遇到问题:通过关联。我已经通过发布 json 成功保存了,但是这些表格还对我不起作用。表单提交创建的请求参数将无法正常工作。任何指向我解决方案的帮助都将帮助我避免在这方面浪费更多时间。预先感谢。

已编辑——添加了 forms_for 尝试和创建的在底部无法正常工作的参数 json——

有效的 Json 发布请求参数:

Rails 生成不保存的参数。

...以及相关的代码示例...

作者模型

Post 模型目前只对 Author 工作有很多 Posts,反之不行

PostAuthor 模型

作者控制器新/创建操作

作者/_form.html.erb

架构

编辑——添加细节—— 只是为了尽职调查,我也尝试过使用fields_for,但它会产生更混乱的json,不会保存到数据库中。我不知道“0”键是从哪里来的。我坚持这一点,任何帮助将不胜感激。

fields_for

产生的参数 to_json

0 投票
2 回答
2042 浏览

ruby-on-rails - rails has_many 通过使用 collection_select 创建多个连接记录

我对 Rails 很陌生,并试图让三个模型与 has_many through 关系、连接模型上的备用类名以及用于将记录添加到连接模型的 collection_select 表单一起工作。三个模型如下。我对所有关联都有“accepts_nested_attributes_for”。

用户模型

匹配模型

匹配对手模型

我的 Matches Controller 用于新建和创建:

我的表格:

每个模型的相关允许参数:

我尝试了很多不同的模型配置,但无法在连接模型(MatchOpponent)上获取多条记录来保存 match_id 和 user_id 记录。

提前感谢您的帮助!

0 投票
1 回答
685 浏览

ruby-on-rails - 使用 has_scope gem 和 collection_select 过滤索引

我有两个模型:BusinessCategory. 在我business#index看来,所有Business名称及其关联的Category. 我正在使用gem 并在我的模型has_scope中添加了两个范围:和. 范围工作正常。当我从表单中选择一个类别并提交表单时,范围没有任何作用,但如果我将它硬编码到浏览器中的 URL 中,它就可以正常工作。Business:by_categorysearchsearchby_categorycollection_select

我注意到的是,如果我对 URL 进行硬编码,http://host/businesses?by_category=14它就可以工作。这是我在日志中看到的:

但是,当我提交选择了类别的表单时,URL 显示为http://host/businesses?utf8=%E2%9C%93&search=&category%5Bid%5D=14. 这是我以这种方式提交表单时在日志中看到的内容:

我的表单传递参数的方式有问题,但我就是by_category不能把手指放在上面。任何帮助将不胜感激。这是相关的代码。

楷模:

业务总监:

业务指标:

0 投票
0 回答
194 浏览

jquery - Ruby on Rails - Collection_select,选项类

是否可以将集合的模型属性传递给 select-options 类?

Questmark 显示了我想在哪里使用 BankConnection 的属性。该属性名为 customer_id。

背景:我想为rails使用链式插件,因此我必须将类设置为特定的客户ID。

谢谢你的帮助。

托拜厄斯

0 投票
1 回答
1146 浏览

ruby-on-rails - Rails 4.2 - 如何建立一个has_many,通过:与collection_select的关联

我目前正在使用带有这些模型的 Rails 4.2:

这是一个简单的多对多关系,其中一个用户可以“拥有”许多配件,而一个配件可以被多个用户“拥有”。

我通过以下方式设置了我的路线:

这样,用户可以转到他们的“附件”路径 ( /users/1/accessories) 以查看他们的附件列表,以及将新的附件关联添加到他们的帐户。

这是为附件路径呈现的视图:

这只是呈现当前配件的表格,然后构建一个 collection_select 框,您可以在其中选择要添加的多个配件。我通过删除 Bootstrap 样式简化了这一点。

最后,这里是相关的控制器动作:

现在的问题:

  1. 当我已经在数据库中手动输入了一个值时提交表单实际上只是删除了所有当前存储的值而不添加任何新值:

    /li>
  2. 提交未选择任何内容的表单时,出现以下错误:

    /li>
0 投票
1 回答
215 浏览

ruby-on-rails - rails undefined method `map' for nil:NilClass 问题

一切正常,直到我想添加第二个 collection_select 以便在我的开口/新视图中从当前用户中选择属于公司的位置。我阅读并尝试了不同的方法,但仍然无法正常工作。

Jobdescription collection_select 单独工作很好,但我不知道问题是否来自,即使我怀疑控制器。

如果你能告诉我问题出在哪里,那你就太好了。谢谢。

我的 schema.rb

公司.rb

位置.rb

开幕式.rb

应用程序/控制器/openings_controller.rb

app/views/openings/new.html.erb

0 投票
1 回答
1367 浏览

ruby-on-rails - 集合在 Rails 4 中选择未定义的方法

我有一个表单,需要将数据库中的所有对象都拉到一个选择字段中。我已经查看了有关 collection_select 的其他 SO 问题,但似乎无法弄清楚为什么我会收到未定义的方法错误。

每个贷款申请都将有_many 个贷款证券,每个贷款证券将有一种证券类型。我已经在数据库中植入了一些安全类型。到目前为止,该表格在贷款申请与贷款担保关系方面工作良好。

在 loanapplications_controller 我添加了贷款安全和安全类型的参数

错误本身:

0 投票
1 回答
2061 浏览

ruby-on-rails - Rails collection_select 如何正确引用哈希?

正如您在下面看到的,我创建了一个哈希,但我不知道在我的 collection_select 标记中引用该哈希。所以我已经成功地做到了,但是我的哈希是配置文件对象的集合,当我尝试使用键值对的集合来做它似乎不起作用时,我将首先向您展示正确工作的代码然后我'将向您展示无效的代码。

这给了我零错误:

这给了我错误:

我收到一个错误:

Records#edit 中的 NoMethodError 显示 c:/Sites/TeamCRM/app/views/records/_eform.html.erb 其中第 52 行引发:

["1 Not contacted", "1"]:Array 的未定义方法“值”

你知道我做错了什么吗?

0 投票
1 回答
244 浏览

ruby-on-rails-4 - RoR:如何在编辑视图中从数据库中的 collection_select 中设置值(1:多关系)

我目前正在创建一个复杂的 rails 表单,用于与嵌套表单和集合选择的 1:n 关系,并使用另一个数据表中的值。

到目前为止,只要用户在更新之前没有选择正确的值,它就会用 collection_select 的值列表中的第一个条目覆盖数据库值。我仍然需要正确设置 collection_select 中的初始值。

我已经阅读了很多关于 SO 的问题,最相关的是: f-collection-select-not-displaying-the-selected-value

唯一仍然缺少的(我希望!)是从数据库中设置表单字段的值,因此即使用户没有触摸选择,它也不会被选择的可选值中的默认值覆盖.

此代码段源自我的代码和上述问题的解决方案,并且是错误的。

让一个人拥有许多事物,validthings 包含事物的可能值:

在 things 表中只有 Thing 字符串,它们也在 validthings 表中。可以给 collection_select 选择的参数一个来自 things 表的字符串,该字符串可以在 validthings 表的值列表中识别。

这是错误的:

@person.things.map(&:id).Thing.to_s

是的,在表格中的人物和事物以及有效事物中,该列被命名为“事物”。它是表validthings 中的唯一字符串——数据库结构不是我的主意,我只使用它。