繁体   English   中英

Rails:在新动作中创建模型

[英]Rails: creating a model in the new action

我有一个有趣的情况,也许它根本不是那么独特,但是我不确定如何解决它。 我有一个模型,在这种情况下为recipe ,用户导航到新路径/recipes/new但是这种情况是,我需要能够让用户上传图像并在新操作中与该模型建立关联,但是该模型还没有ID。

所以我想我需要重新考虑我的控制器,但是我不想进行重定向,那该如何完成呢?

这是基本的控制器,准系统很明显:

...

def new
  # I should be creating the model first, so it has an ID
  @recipe = Recipe.new
end

def create
  @recipe = Recipe.new(params[:recipe])
  if @recipe.save
    redirect_to @recipe
  else
    render 'new'
  end
end

...

更新

也许我可以有一个像state这样的列,它的值可以像new/incomplete/complete或what-have-you。 我主要是想弄清楚什么对数据库最有效。

出于可用性考虑,如果我仍然可以使用一个表示“ / new”的网址,而不是带有id的编辑路径,那将是很好的选择,但是我不确定这可以通过我的new操作简单地完成控制器。

有什么想法吗?

我不确定我是否正确理解您,但是:

在新操作中,您可以创建新对象并将文件附加到该对象并以一种形式发布。 此时,您不必将其存储在db中。 它可以像模型中的任何其他文件一样保存在create动作中。 在这种情况下,字段“名称”和“ attached_file”(仅作为示例)的处理方式相同(几乎相同)。 看看网络上的一些回形针教程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM