collection_select 方法在 Rails 3.1.1 中给出错误

发布于 2024-12-16 18:32:53 字数 287 浏览 3 评论 0原文

我有一个名为类别的模型和其他模型产品。他们有 has_many 和belongs_to 关系。 但在我看来,代码

    <p><%= f.collection_select(:product, :category_id, Category.all, :id, :name)%>

给了我

 undefined method `merge' for :name:Symbol

任何线索它有什么问题吗?

I have a Model called Category and other Model Product. They have has_many and belongs_to relation.
But code in my view

    <p><%= f.collection_select(:product, :category_id, Category.all, :id, :name)%>

is giving me

 undefined method `merge' for :name:Symbol

Any clue what is wrong with it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一影成城 2024-12-23 18:32:53

您可能会遇到这样的情况:

<%= form_for @product do |f| %>

因为 f 已经与 product 绑定在一起,因此您不需要将其包含为第一个参数,因此它应该是:

<%= f.collection_select :category_id, Category.all, :id, :name %>

或者,您不能使用 f.

<%= collection_select :product, :category_id, Category.all, :id, :name %>

Chances are you have something like this:

<%= form_for @product do |f| %>

Because f is already tied to product, you don't need to include it as your first argument, so it should just be:

<%= f.collection_select :category_id, Category.all, :id, :name %>

Or, you could not use f.:

<%= collection_select :product, :category_id, Category.all, :id, :name %>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文