2013-03-30 2 views
1

Смотрите примерам те же приложение без завещания: linkРазрабатывают Регистрация Использование файла Excel с Spreadsheet

Я попытался GIT клонировать его, когда импорт первенствует файл успех.

Я пытаюсь разработать регистрация получать сообщения электронной почты и пароли от Ехчел,

это imports_controller.rb

class ImportsController < Devise::RegistrationsController 
    before_filter :resource_name 

def resource_name 
    :user 
end 

def import 
end 

def create 
    get_file = params[:excelfile] 
    file = ImportUploader.new 
    file.store!(get_file) 
    book = Spreadsheet.open "#{file.store_path}" 
    sheet = book.worksheet 0 
    @user = [] 
    sheet.each 1 do |row| 
     u = User.new 
     u.email = row[0] 
     u.password = row[1] 
     u.save 
     @user << u 
    end 
     redirect_to root_path 
end 

import.html.erb

<%= form_tag import_path, multipart: true do %> 
    <%= file_field_tag :excelfile %> 
    <%= submit_tag "Import" %> 
<% end %> 

Когда я пытаюсь импортировать первенствует файл

Started POST "/import" for 127.0.0.1 at 2013-03-30 16:23:55 +0700 
Processing by ImportsController#create as HTML 
    Parameters: {"utf8"=>"Γ£ô", "authenticity_token"=>"RavRmOt838/dMJ4eg1Kx4DYnWYF 
TUBdqHnQIhcfkeug=", "excelfile"=>#<ActionDispatch::Http::UploadedFile:0x4e28980 
@original_filename="kkryrk.xls", @content_type="application/vnd.ms-excel", @hea 
ders="Content-Disposition: form-data; name=\"excelfile\"; filename=\"kkryrk.xls 
\"\r\nContent-Type: application/vnd.ms-excel\r\n", @tempfile=#<File:C:/Users/mycomp/AppData/Local/Temp/RackMultipart20130330-5724-18krlm5>>, "commit"=>"Import"} 

    (1.0ms) BEGIN 
    Users Exists (2.0ms) SELECT 1 AS one FROM `users` WHERE `users`.`emai 
l` = BINARY '[email protected]' LIMIT 1 
    (1.0ms) ROLLBACK 
Completed 500 Internal Server Error in 441ms 

Я смущен, потому что не ошибка в моих приложениях, я не знаю, где находится ошибка, чтобы откат.

Любая идея?

Спасибо.

ответ

0

Решите. Я использую создать пользователь вручную https://github.com/plataformatec/devise/wiki/How-To:-Manage-users-through-a-CRUD-interface

def create 
    get_file = params[:excelfile] 
    file = ImportUploader.new 
    file.store!(get_file) 
    book = Spreadsheet.open "#{file.store_path}" 
    sheet1 = book.worksheet 0 
    sheet1.each 1 do |row| 
     email = row[0] 
     temp_password = row[1] 
     Pelajar.create(:email => email, :password => temp_password, :password_confirmation => temp_password) 
    end 
     redirect_to root_path 
end 
Смежные вопросы