Rails - 如何为参考图像指定帖子的临时ID

时间:2018-06-08 08:57:01

标签: ruby-on-rails

我有一个基于rails的简单博客网站。我有Post模型和Picture模型。

Post has_many pictures

Picture belongs_to post

以下是我想要实现的目标 -

  1. 当我开始创建新帖子时,我会在表单中提供一个链接,打开一个新窗口,我可以上传多个参考图像,其中包含一些name字段。
  2. 然后我将在帖子正文中使用一个宏字符串,如##IMG_<image-name>##
  3. 我会动态创建一个新的<img>代码来显示相关图片,而用户仍在创建帖子。
  4. 我的问题 -

    1. 如您所知,在创建帖子期间,我不会有post_id。
    2. 那么如何将上传的reference_images与特定帖子联系起来?
    3. 我可以在进入创建页面后立即以某种方式为帖子分配临时ID,然后在我保存帖子之后,无论如何rails会接管吗?
    4. 希望你到达我被困的地方。请帮忙!

      提前致谢。

1 个答案:

答案 0 :(得分:1)

我感谢您提供的所有回复。但我必须实现这一点,这是满足我需求的另一种方式 -

<强> HTML

  • 我提供了<input type="file" id="refImg" onchange="javascript: uploadImage(this);">
  • 用户选择了所需的图像后,uploadImage()功能将创建一个动态表单并对不同的API执行AJAX POST。 http://example.com/uploadImage

<强>滑轨

  • 在rails controller referenceImages#uploadImage中,我使用paperclip将图像上传到cloudinary。如果上传成功,cloudinary上传调用将返回图片网址。
  • 我以JSON格式回复了此网址。

<强> JS

  • 在javascript函数uploadImage()中,在ajax调用的success函数中,我从响应中解析了URL并动态创建了一个<img src="parsed_image_url">标记,并将其附加到post body的当前光标位置。 / LI>