HABTM协会的表格

时间:2014-08-23 07:23:07

标签: ruby-on-rails associations rails-activerecord simple-form has-and-belongs-to-many

我有两个模型,相册和图像。这些具有has_and_belongs_to彼此的关联。专辑有很多图像,图像可以属于许多专辑。那么指定HABTM是否正确?

创建相册后,它会重定向到相册显示路径。在此页面上,我想允许用户将图像添加(上传)到相册。但是,我不确定如何为此指定表单。我使用simpleform。我试过这样的事情(haml):

  = simple_form_for [:admin, @album] do |a|
    = a.simple_fields_for :images do |i| 
      = i.input :title
      = i.file_field :image
      = i.submit

但是这只会更新相册并且不会创建图像。我也有一个错误说"图像预期,得到数组"。

我想允许我的用户直接在相册显示页面上传图片。在指定相册的单独图像上传页面感觉不对。在我看来,用户体验有很大的不同。

或..我想我可以有一个链接说'添加图片'单击时,渲染部分,在模态中说image/_upload_form?那是一个备用计划。在专辑节目页面上寻找图像表单的解决方案。感谢。

1 个答案:

答案 0 :(得分:2)

您应该submit form,而不是fields

此代码

= simple_form_for [:admin, @album] do |a|
    = a.simple_fields_for :images do |i| 
      = i.input :title
      = i.file_field :image
      = i.submit

应该是

= simple_form_for [:admin, @album] do |a|
    = a.simple_fields_for :images do |i| 
      = i.input :title
      = i.file_field :image
    = a.submit #Here