【问题标题】:Is this possible? Edit new object accross more than one view without saving这可能吗?在多个视图中编辑新对象而不保存
【发布时间】:2010-10-09 09:25:58
【问题描述】:

我有一个屏幕,用户可以在其中定义新的数据记录。数据记录中有几个不同的字段,可以添加不同大小的不同图像。

为了方便用户添加所有这些图像,我想将图像上传部分分离到灰盒视图中。布局流程将变为

  1. 单击新建 -> 转到新记录屏幕
  2. 编辑一些关于对象的文本字段
  3. 点击“图片管理器”-> Greybox 打开,其中包含根据用途上传各种大小/形状的图片的链接
  4. 在图像管理器中单击确定 -> 灰盒关闭。用户完成编辑记录并保存。

有谁知道如何链接到具有编辑对象字段的视图并传入尚未保存的对象进行编辑?

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    您没有完全提到图像是同一模型的一部分还是关系,我现在假设是后者。我能想到的最简单的方法就是拥有一个包含图像管理器代码的隐藏 div。我之前多次使用Facebox,它似乎和 GreyBox 做的一样,所以我在这个半代码中使用了它。

    <% form_for(@my_object) do |f| %>
     <%= f.text_field :value_a %>
     <%= f.text_field :value_b %>
     <a href="#image-manager" rel="facebox">Open image-manager</a>
     <span id="image-manager" style="display:hidden">
       <% f.fields_for(@my_object.images) do |fields| %>
         <%= fields.file_column :image_file %>
       <% end %>
     </span>
     <%= f.submit "Save form" %>
    <% end %>
    

    我希望这能给你一个想法来实现你自己的版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      相关资源
      最近更新 更多