Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby:在一篇文章中保存两个模型_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails Ruby:在一篇文章中保存两个模型

Ruby on rails Ruby:在一篇文章中保存两个模型,ruby-on-rails,ruby,Ruby On Rails,Ruby,我是Rails新手,来自.NET,事实上这是我参与的第一个Ruby项目,所以我仍在研究如何处理这些问题 我将从问题的结构开始:我有一个项目表和一个图像表。还有一个ProjectImage表,您可以猜到它有一个项目id和一个图像id。作为一个用户,当我创建一个项目时,在新建/编辑视图中,我希望能够选择任何我想上传的图像(我想强制至少选择一个图像,但这可能是另一个问题) 我认为这是可能的,因为在.NET中操作非常简单,我只需要一个视图模型来表示项目和至少一个必需的图像id。然而,我对Rails的理解

我是Rails新手,来自.NET,事实上这是我参与的第一个Ruby项目,所以我仍在研究如何处理这些问题

我将从问题的结构开始:我有一个项目表和一个图像表。还有一个ProjectImage表,您可以猜到它有一个
项目id
和一个
图像id
。作为一个用户,当我创建一个项目时,在新建/编辑视图中,我希望能够选择任何我想上传的图像(我想强制至少选择一个图像,但这可能是另一个问题)

我认为这是可能的,因为在
.NET
中操作非常简单,我只需要一个视图模型来表示
项目
和至少一个必需的
图像id
。然而,我对Rails的理解还不足以在Rails中看到这种方法的直接复制


我环顾四周,从我的理解来看,我可能没有以正确的方式处理这个问题,所以我的问题是,这是否可能,我是否处理得不正确,如果是,Rails的传统方法是什么

欢迎从一个新手来到另一个新手的Rails世界

我建议去看看卡里尔瓦夫。我发现它对于将图像上传到我的模型中非常有用。它还可以使用imagemagick确保您的用户不会将图像上传到big,还可以进行大量验证以确保您的数据库不会过载

您可以在此处找到github,如果有任何问题,请随时询问:

还有一个更古老的宝石,很多人都使用它,你可以在这里找到:

还不确定您是否需要projectimage表,因为您只需要向项目表中添加一列,图像将作为文件路径的哈希存储在其中,并由项目或用户引用

您可以在此处看到carrierwave的铁路列表:


欢迎从一个新手来到另一个新手的Rails世界

我建议去看看卡里尔瓦夫。我发现它对于将图像上传到我的模型中非常有用。它还可以使用imagemagick确保您的用户不会将图像上传到big,还可以进行大量验证以确保您的数据库不会过载

您可以在此处找到github,如果有任何问题,请随时询问:

还有一个更古老的宝石,很多人都使用它,你可以在这里找到:

还不确定您是否需要projectimage表,因为您只需要向项目表中添加一列,图像将作为文件路径的哈希存储在其中,并由项目或用户引用

您可以在此处看到carrierwave的铁路列表:


欢迎从一个新手来到另一个新手的Rails世界

我建议去看看卡里尔瓦夫。我发现它对于将图像上传到我的模型中非常有用。它还可以使用imagemagick确保您的用户不会将图像上传到big,还可以进行大量验证以确保您的数据库不会过载

您可以在此处找到github,如果有任何问题,请随时询问:

还有一个更古老的宝石,很多人都使用它,你可以在这里找到:

还不确定您是否需要projectimage表,因为您只需要向项目表中添加一列,图像将作为文件路径的哈希存储在其中,并由项目或用户引用

您可以在此处看到carrierwave的铁路列表:


欢迎从一个新手来到另一个新手的Rails世界

我建议去看看卡里尔瓦夫。我发现它对于将图像上传到我的模型中非常有用。它还可以使用imagemagick确保您的用户不会将图像上传到big,还可以进行大量验证以确保您的数据库不会过载

您可以在此处找到github,如果有任何问题,请随时询问:

还有一个更古老的宝石,很多人都使用它,你可以在这里找到:

还不确定您是否需要projectimage表,因为您只需要向项目表中添加一列,图像将作为文件路径的哈希存储在其中,并由项目或用户引用

您可以在此处看到carrierwave的铁路列表:


您可以这样设置表单

<%= form_for :project, :html=> {:multipart=>true} do |f| %>
  <%= f.text_field :title %>
  <%= file_field_tag :images, :multiple => true, :name => 'images[]' %>
  <%= f.submit %>
<% end %>
{:multipart=>true}do | f |%>
true,:name=>'图像[]'%>
然后在控制器中,您的项目属性位于
params[:project]
(在本例中只是一个标题),而
params[:images]
将是一组上载的图像

当然,在这方面有一些很好的建议,比如或者,但是正如你所说的,你的理解还不够,我想在你开始走捷径之前,你应该先掌握一下


对于ProjectImage表,如果您不需要在关系本身中存储额外的信息,您应该在images表中添加一个project\u id列,然后让一个图像
属于:project
并且一个项目
有许多:images
,您可以这样设置表单

<%= form_for :project, :html=> {:multipart=>true} do |f| %>
  <%= f.text_field :title %>
  <%= file_field_tag :images, :multiple => true, :name => 'images[]' %>
  <%= f.submit %>
<% end %>
{:multipart=>true}do | f |%>
true,:name=>'图像[]'%>
然后在控制器中,您的项目属性位于
params[:project]
(在本例中只是一个标题),而
params[:images]
将是一组上载的图像

当然,在这方面有一些很好的建议,比如或者,但是正如你所说的,你的理解还不够,我想在你开始走捷径之前,你应该先掌握一下

对于ProjectImage表,如果不需要存储在关系本身中的其他信息,则应改为在图像表中添加一个project\u id列,然后让图像
归属于:project
,并且项目
具有