Ruby on rails 在Rails中创建多步骤创建操作

Ruby on rails 在Rails中创建多步骤创建操作,ruby-on-rails,forms,controller,Ruby On Rails,Forms,Controller,我的应用程序中有一部分有时需要通知用户他们的操作,但在提交表单之前(这消除了Javascript),应用程序不知道通知用户的要求 基本上,用户上传一个或多个包含记录的文件,如果文件中的记录数大于X,那么我必须确定样本大小,并且只使用该数量的文章,被选中的文章是随机选择的。我遇到的问题是,用户可以在创建操作和编辑操作上上载文件。因此,以前用户可以上传2个从未达到大于X的记录计数的文件,在最近的一次编辑中他们做到了——现在我们需要创建一个样本集 这不是一个大问题,但是因为他们过去已经创建了文章,我们

我的应用程序中有一部分有时需要通知用户他们的操作,但在提交表单之前(这消除了Javascript),应用程序不知道通知用户的要求

基本上,用户上传一个或多个包含记录的文件,如果文件中的记录数大于X,那么我必须确定样本大小,并且只使用该数量的文章,被选中的文章是随机选择的。我遇到的问题是,用户可以在创建操作和编辑操作上上载文件。因此,以前用户可以上传2个从未达到大于X的记录计数的文件,在最近的一次编辑中他们做到了——现在我们需要创建一个样本集

这不是一个大问题,但是因为他们过去已经创建了文章,我们现在需要从以前的文件中删除一些记录,因为我们正在创建一个样本集,所以我需要通知用户即将发生的事情


因此,一旦用户单击submit,我就确定文件中的记录数,如果大于X,我需要显示一条消息,用户必须单击continue或cancel(理想情况下,我可以在这里呈现一个视图,以便向用户提供漂亮的样式化信息)。如果小于X,则我不在乎,继续。

您应该能够在创建后检查文件数,如果超过X,则重定向。我假设您知道当前用户是什么,并且您在将文件上载到当前用户帐户的
FileController

def create
  @file = current_user.files.create(params[:file])
  if current_user.files.count >= X
    redirect_to :controller => "files", :action => "too_many_files"
  else
    redirect_to file_path(@file)
  end
end

我想这可能行得通。。我唯一关心的是,我在这里使用的是accepts_nested_attributes_,因此它将文件创建为嵌套元素的一部分-让我来处理这个问题,我会让您知道的。如果你还有其他想法,请随时通知我,谢谢你的意见!“在此操作中多次调用了Render和/或redirect。请注意,您只能调用Render或redirect,每个操作最多只能调用一次。还请注意,redirect和Render都不会终止操作的执行,因此,如果您想在重定向后退出操作,则需要执行类似于“重定向到(…)并返回”的操作。”什么版本的Rails?在示例中重写我最终创建了一个类似的解决方案,并将用户发送到同一控制器中的另一个操作,感谢您的帮助!