我在Ruby,Rails& amp; HTML语法。希望一些Rails忍者可以帮助我解决可能是一个微不足道的问题......
发布 has_many
照片
Photo有一个字符串:image
属性
在帖子的_form.html.haml
中,我想(在hidden_field
中)为与帖子关联的每张照片嵌入image
属性的内容...然后将其取回提交表单时。我可以通过以下方式执行此操作:A)为每个 hidden_field
添加一个 photo.image
或 B)创建一个< strong>数组包含所有关联的photo.image
s。
我惹恼了如何最好地嵌入这个...(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请求返回,它就变成了数组的字符串表示形式:{{1因此不响应[/uploads/tmp/20110729-1216-15902-2013/Before_Green_Flash.JPG, /uploads/tmp/20110729-1216-15902-5934/Before_Green_Flash2.JPG]
。
非常感谢任何一种或两种情况的帮助!
答案 0 :(得分:0)
对于方法a,为什么不:= f.hidden_field photo.image