2014-06-21 4 views
0

Я пытаюсь сделать это:Каков правильный способ создания объекта (в базе данных) от контроллера?

  1. загрузить файл пользователя в первом контроллере,
  2. В некоторых условиях Показывают страницы для пользователя для выбора элемента из файла и передать файл данные на другой контроллер в Params: данные #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 

Проблема в том, что ничего не возвращается. Как я могу записать новый элемент в базу данных?

ответ

0

Ваше new действие контроллера data ничего не возвращает, потому что вы не определили ничего из-за аргумента return.

Две другие линии, которые должны быть от вашей модели, ничего не возвращает, поскольку поле id установлено только для сохраненных записей. Возможно, вы захотите сохранить его с помощью create().

+0

Большое спасибо. Я читал о различии между new() и create() и понимал мою ошибку в модели. –

Смежные вопросы