【发布时间】:2011-07-29 19:54:57
【问题描述】:
我被 Ruby、Rails 和 HTML 语法绊倒了。希望一些 Rails 忍者可以帮助我解决可能是微不足道的问题....
发帖 has_many 照片
照片有一个字符串:image属性
在帖子的_form.html.haml 中,我想为与帖子关联的每张照片嵌入(在hidden_field 中)image 属性的内容......然后在提交表单时将其取回。我可以通过 A) 添加 one hidden_field for each photo.image 或 B) 创建单个 array 包含所有关联的photo.images。
我不知道如何最好地嵌入这个......(A)或(B)我都没有完全完善。
# _form.html.haml:
= form_for @post do |f|
- if @post.photos.any?
- @post.photos.each do |photo| -# (A)
= f.hidden_field :image_cache -# (A)
= f.hidden_field :images_cache -# (B)
= f.file_field :photos, :multiple => true
.actions
= f.submit 'Save'
#post.rb (A)
def image_cache
self.photos.any? ? photos.first.image : nil -# works with `first`
-# but not sure how to
-# pass id of others?!?
end
#post.rb: (B)
def images_cache
photos.map { |i| i.image }
end
(A) 的问题是我不知道如何将 photo 传递回 Post 模型以从其中返回 image_cache 属性?!? f.hidden_field :image_cache(photo) 不起作用
(B) 的问题是 Post 模型返回的 images_cache 是一个数组,但一旦嵌入 HTML 页面并由以下 post 请求返回,它就变成了数组的字符串表示形式:[/uploads/tmp/20110729-1216-15902-2013/Before_Green_Flash.JPG, /uploads/tmp/20110729-1216-15902-5934/Before_Green_Flash2.JPG],因此不回复each。
我们将不胜感激任何一种或两种情况的帮助!
【问题讨论】:
标签: ruby-on-rails arrays ruby-on-rails-3 parameters