find(params [:id])和实例变量返回<object>

时间:2016-01-04 09:57:13

标签: ruby-on-rails ruby

在我的图像控制器中,我有class ImagesController < ApplicationController def show @image = Image.find(params[:id]) end end 动作

/images/6

当我在params[:id]页上时,resources :images, only: [:show] 为6

路线

<%= form_for(@cart_item, url: cart_item_path, :remote => true do |f| %>
  <%= f.hidden_field :image_id, value: @image %>
<% end %>

所以在这个页面上我有一个form_for写入一个不同的模型,在一个隐藏的字段内(现在)我有

#<Image:0x007fe41413b528>

现在我希望该值等于6,但是当我检查它时,值为UdpClient,因此在提交表单时将image_id保存为0。

而且我也意识到,如果我把@ image.id我得到了id,但那不是我认为有用的方式

我错过了什么?

1 个答案:

答案 0 :(得分:1)

你应该像@image.id

那样做
<%= f.hidden_field :image_id, value: @image.id %>

@image包含 记录 ,而非 id