作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
"✓",-6ren">
我在 file_field 列中嵌套了表单,当我尝试创建它时会抛出
UserController 中的 NoMethodError#update
#的未定义方法`[]'
{
"utf8"=>"✓",
"authenticity_token"=>"HFWawKp4RH7+AFV0yQ1cXpzxHDfubKTKkiDiS6QKnJk=",
"user"=> {
"name"=>"Test",
"image_attributes"=> {
"picture"=>#<ActionDispatch::Http::UploadedFile:0x3f4e318
@original_filename="Beautiful Sky_thumb.jpg",
@content_type="image/jpeg",
@headers="Content-Disposition: form-data; name=\"user[pics_attributes][pic]\"; filename=\"Beautiful Sky_thumb.jpg\"\r\nContent-Type: image/jpeg\r\n",
@tempfile=#<File:C:/Users/Alex/AppData/Local/Temp/RackMultipart20120824-4784-5rmxid>>
}
},
"commit"=>"Save User"
}
class User < ActiveRecord::Base
attr_accessbile: :name, image_attributes
has_many :images
accepts_nested_attributes_for: images
end
class Image < ActiveRecord::Base
belongs_to :verve_app
mount_uploader picture, PictureUploader
end
def new
@user = User.new
@user.images.build
end
def create
@user = User.new(params[:user])
@user.save!
end
<%= form_for @user do |f| %>
<%= f.hidden_field :name, {value: 'Alex'} %>
<%= f.fields_for :image_attributes do |image| %>
<%= image.file_field :picture %>
<% end %>
<%= user.submit %>
<% end %>
最佳答案
尝试在模型类 :image 上调用 fields_for 而不是在 :image_attributes 上。
替换您的 <%= f.fields_for :image_attributes do |image| %> with <%= f.fields_for :image do |i| %>。然后将 image.file_field 更改为 i.file_field
看看这是否有帮助,或者至少会产生新的错误供我们工作。
关于ruby-on-rails - #<ActionDispatch::Http::UploadedFile:0x007fae8c0bfaa8> 的未定义方法 `[]',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21156232/
我是一名优秀的程序员,十分优秀!