问题标签 [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 回答
242 浏览

ruby-on-rails-4 - 提交带有无关验证的collection_select时出现Rails奇怪错误

我有一个可以正确保存所有属性的工作表单,包括collection_select. 但是,当我添加validates :title, presence: true并尝试提交时,我得到

undefined method 'map' for nil:NilClass

我的新动作:

视图是items\_form.html.haml

不工作

= f.collection_select :question_id, @categories, :_id, :iqs_item

作品

= f.collection_select :question_id, Question.editable_by(current_user), :_id, :iqs_item

这在我将@categories控制器中的对象添加到视图时有效。我猜测视图中的函数没有传递一些东西,error或者当它尝试重绘有错误的页面时它无法映射选择?

请协助。同样,我可以让它工作,但我宁愿不将方法调用放在视图中。

0 投票
2 回答
1327 浏览

ruby-on-rails - Rails - 允许创建新模型对象的“其他”下拉列表

我目前在我的网站上_request_form创建新内容相当复杂。Requests目前,在创建请求时,员工必须从下拉菜单中选择他们的姓名,如下所示:

<%= f.collection_select :name, Employee.all(:order => 'name'), :name, :name %>

这个选择把右边Employee放在Request. 但是,如果员工不在数据库中,我想要一个other选项,collection_select它会生成两个文本框(用于 Employeenameemail),并且在提交表单时会生成新的Employee.

我认为这需要一些花哨的东西Ajax,但我有限的 Rails 知识并没有延伸那么远!

编辑:

这是我的完整观点:

这包括@Kirti 的建议。但是,我似乎无法让它工作!

0 投票
0 回答
226 浏览

ruby-on-rails - 如何显示使用 simple_form 选中的单选按钮?

所以我有一个包含多个输入的表单。例如:

我正在做的是克隆一个列表,当我单击克隆时,我希望以前选择的值在我的表单上显示为选中状态。状态的第一个输入完美地工作。状态是一个字符串。第二个,合作社,没有通过。当我在 chrome 中进行检查时,我得到了第一个:

但这是第二个:

不确定一个如何工作而不是另一个

0 投票
1 回答
435 浏览

ruby-on-rails - 如何在 Rails 表单中动态添加(HABTM)collection_select + 关联的 text_field?

对于 Rails 中的个人发票应用程序,我可以使用以下建议:在新发票表单中,如何通过单击动态添加由 collection_select forproducts和关联 text_field for组成的新行?amountadd new product

由于一张发票有很多产品,而一个产品有很多发票,我认为这是双向的 HABTM 关系。因此,我创建了表invoices,products和它们的连接表invoices_products

我希望invoices/new页面有一个表单,用户可以在其中使用 collection_select 选择产品(所有产品都已预加载在products表中)并在其后面的文本字段中填写金额。用户应该能够通过单击来复制这两个字段(collection_select 和 text_field)add new product,例如RailsCast #403 Dynamic Forms 04:50.

现在我该怎么做呢?我会将amounttext_field 中的数据放在哪个表中,因为每张发票有多个产品,所以金额多?

任何正确方向的答案将不胜感激!

0 投票
1 回答
161 浏览

ruby-on-rails - Rails conditional_select for nested attributes

I'm trying to setup the following: A User has many Groups through Memberships, a Group has many Events, and an Event has many Posts.

On my view to show a group with all of its events, I want a user to be able to write a new post by selecting the correct group from a drop down, writing a comment and submit. I'm currently using a collection_select to create the post, but the event_id is not getting passed to ActiveRecord, i.e. posts are created, but they do not have event_ids (or even comments):

I have a feeling that because the routes are nested, group_id never is passed to the Posts controller, and so can never be set. But I'm sure there's a lot more wrong than that...

0 投票
1 回答
126 浏览

ruby-on-rails - Rails 4 Ecommerce App 使用 collection_select/select:如何正确实现?

我有一个包含以下列的产品模型:

我还有一个购物车模型、line_item 模型、一个订单控制器:非常基本,但你明白了。

我需要做(并且已经做过)是为产品模型添加尺寸(因为它是用于 T 恤的)和颜色。很公平,

工作得很好,同样适用于颜色。

购买流程的设置方式如下:

  1. 选择衬衫(一页)

  2. 选择衬衫后,带您进入下一页

  3. 在此页面上,您将选择衬衫的颜色和尺码。

从我收集的信息来看,使用select不会与数据库绑定,所以我想collection_select在这里更合适?或者这样的事情可以吗?

另外,在选择产品之前(从上面的步骤 1 开始),我将如何使用尺寸(即小/中/大)和颜色(即黑色/蓝色/白色)“预先填充”这些字段,而无需将它们与特定产品相关联?

对此事的任何意见表示赞赏。

0 投票
1 回答
800 浏览

ruby-on-rails - rails collection_select 错误数量的参数错误

我有一个 user_inputs 表,我在其中将设备订阅状态存储在 sub_status 列下,并且这些订阅状态作为下拉选项存储在同名下。现在,从下拉列表中选择一个选项后,我想将设备资产表中的状态 ID 保存在column_name subscription_status 下,并在浏览器上显示状态。我正在为它尝试collection_select,但它不起作用。

这给出了错误,错误数量的参数,请帮助我。

这里-

  • :sub_status 是具有下拉选项的字段。
  • UserInput 是这些状态的来源模型。
  • :id 是 user_inputs 表中 sub_status 的索引
  • :subscription_status 是设备资产表中将存储选定 ID 的列。我没有得到代码有什么问题。

这个你能帮我吗。

0 投票
0 回答
217 浏览

ruby-on-rails-4 - Rails:保存视图中collection_select中选择的值

我是 Rails newby,我今天大部分时间都在试图找到我的问题的答案,但我真的无法弄清楚。我认为这是很多人可能正在寻找直截了当的答案的常见问题,所以这里是:

我要做的就是使用一个collection_select 语句,将选定的值存储在@bno 之类的变量中,然后使用同一个变量过滤掉属于建筑物的属性。

这是我的代码:

据我了解,通过查看 SO,params[:property][:buildingnumber]现在应该保留我的选择。

现在再往下,我有这个代码:

这是我得到的错误:

属性#index 中的 NoMethodError 显示 /Users//Desktop/JR Buildings/jrbuilding/app/views/properties/index.html.erb 其中第 31 行提出:

用于 nil:NilClass 的未定义方法 `[]' 提取的源代码(在 #31 行附近):

我对如何在视图中保存局部变量感到困惑,因为我来自 Java/Obj C 背景,我想做一些非常简单的事情,即根据用户选择的值过滤页面一个collection_select。我还需要弄清楚如何以某种方式更新页面。

无论如何,非常感谢有用的提示,在此先感谢您!

还想在我的属性模型中向您展示我的 filter_by_building 代码:

非常感谢!

0 投票
3 回答
1594 浏览

ruby-on-rails - UJS、AJAX、Rails 4、form_for collection_select 将值传递给方法并将值返回给表单

我对 Rails 很陌生,因此在同时处理 AJAX、UJS 和 Rails 时有很多困惑。我查看了 railscast,几个 SO 答案,尝试了 freenode 上的#rubyonrails IRC 频道。唉,我还是卡住了。

无论如何,这是我的问题。

所以我有两个模型,建筑和财产。属性belongs_to Building 和Building has_many 属性。

我已将外键添加到 Property 作为 building_id。

现在,在我的建筑模型中,我有一个方法:self.search(search) 并给出正确的地址(例如 999 Decarie),它将正确地从数据库中的 Building 表返回 building_id。

在我的属性部分 _form 中,我有一个 form_for 循环,它使用一个 collection_select 来允许用户选择任何建筑地址(例如 999 Decarie),(因此它呈现为一个选择/选项 HTML 下拉列表)。

那么,我该如何使用不显眼的 javascript/ajax

A、用户在表单中选择后立即获取集合select的选择值,并传递给上面提到的建筑模型方法(self.search(search)),该方法返回正确的建筑ID。

B. 立即获取该方法返回的建筑物 ID 并将其存储在表单上的隐藏字段中(对应于 Properties 模型中的 building_id 字段)。(在下面的代码中,我想将值 1 替换为建筑物 ID)

因此,允许我的关联工作,以便当我删除建筑物时,其所有相关属性也会被删除。

如果您需要更多代码,请告诉我,我正在使用 Rails 4,非常感谢!

0 投票
1 回答
1788 浏览

ruby-on-rails - ruby on rails 下拉菜单被选中

有很多关于这个的帖子......我很确定我的语法是正确的,但出于某种原因

:select => "some value or text" 对我不起作用。

这是我的表格:

查看最后一个...它将列出我所有的 PetStore 名称,这正是我想要的,但它始终默认为该列表中的第一个名称....即使“Moe's Mammals”是另一家宠物店的确切名称这是在下拉列表中。

第二个 f.select 在不同的语法中只是同一件事......但它也不起作用。即使 :prompt => "whatever" 也能正常工作。它让我相信 :selected 对 ruby​​ 没有任何意义