什么是从控制器创建对象(在数据库中)的正确方法?

时间:2014-06-21 12:04:44

标签: ruby-on-rails

我正在尝试这样做:

  1. 第一个控制器中的用户上传文件
  2. 在某些情况下,我向用户显示页面以从文件中选择元素并将文件数据传递给params中的另一个控制器:data#new
  3. 在data#new中:

    @elm_file = Rails.cache.read(params[:cache_id])
    @elm_id = params[:index]
    @user_name = params[:name]
    
    new_elm_id = Elm.create_from_file @elm_file, @elm_id, @user_name
    
    if new_elm_id != 0
      redirect_to :action => '', :id => new_elm_id
    end
    
    return
    
    模型中的

    new_elm = Elm.new
    
    return new_elm.id
    

    问题是 - 没有回复。如何将新元素记录到数据库中?

1 个答案:

答案 0 :(得分:0)

控制器new的{​​{1}}操作不会返回任何内容,因为您还没有在data参数后面定义任何内容。

其他两行(应该来自您的模型)不返回任何内容,因为return字段仅为持久记录设置。您可能希望使用create()保留它。