Rails表单助手失败

时间:2010-01-30 03:01:35

标签: ruby-on-rails

好的这是我在rails中的第一个应用程序,所以希望这是一个简单的问题。

这是我的目标:

- !ruby/object:ProductImage
attributes:
image_id:
product_id:
created_at:
updated_at:
attributes_cache: {}

这有效:

<%= image_form.text_field :product_id %>

但是我得到了未定义的方法`image_id':

<%= image_form.text_field :image_id %>

我只是不明白......

为此提供任何帮助。

这是实际的部分:

<div class="image">
  <% new_or_existing = product_image.new_record? ? 'new' : 'existing' %>
  <% prefix = "product[#{new_or_existing}_product_image_attributes][]" %>
  <% fields_for prefix, product_image do |i| -%>
    <div class="input select">
      <%= i.text_field :image_id %>
      <%= link_to_function "remove", "$(this).up('.image').remove()" %>
    </div>
  <% end -%>
</div>

P.S正在使用文本字段作为示例

2 个答案:

答案 0 :(得分:1)

你可以发表整个表格吗?我有预感,也许你做了:

<% form_for :image do |image_form| %>

而不是:

<% form_for :product_image do |product_image_form| %>

当然,我会重新考虑显示一个人们手动输入id值以便将图像加入产品的表单,但我知道你现在正处于学习模式。

答案 1 :(得分:0)

ID字段不应该是text_fields,它们应该是复选框或下拉选择框。你为什么要知道Rails ID是什么?