Forum: Rails Engines application to import a csv file to database(help me)

3aa4e99b0a2b3fd9d8ee66f2e9d41715?d=identicon&s=25 Tony Augustine (tonya99)
on 2010-03-31 06:34
(Received via mailing list)
hi actually i am  creating an application  to import a csv  file  to
database. but onn running that application ai'am  getting errors like
this

 NoMethodError in ImportsController#new

undefined method `login_required' for #<ImportsController:0xb6d84b5c>

and this  error  too


Processing ImportsController#new (for 127.0.0.1 at 2010-03-31 09:38:19)
[GET]

NoMethodError (undefined method `login_required' for
#<ImportsController:0xb6d03f70>):



ma controller is  here



class ImportsController < ApplicationController
  before_filter :login_required #protect controller from anonymous users

  def new
    @import = Import.new
  end

  def create
    @import = Import.new(params[:import])

    respond_to do |format|
      if @import.save!
        flash[:notice] = 'CSV data was successfully imported.'
        format.html { redirect_to(@import) }
      else
        flash[:error] = 'CSV data import failed.'
        format.html { render :action => "new" }
      end
    end
  end

  def show
    @import = Import.find(params[:id])
  end

  def proc_csv
    @import = Import.find(params[:id])
    lines = parse_csv_file(@import.csv.path)
    lines.shift #comment this line out if your CSV file doesn't contain
a header row
    if lines.size > 0
      @import.processed = lines.size
      lines.each do |line|
        case @import.datatype
        when "releases"
          new_release(line)
        end
      end
      @import.save
      flash[:notice] = "CSV data processing was successful."
      redirect_to :action => "show", :id => @import.id
    else
      flash[:error] = "CSV data processing failed."
      render :action => "show", :id => @import.id
    end
  end

private

  def parse_csv_file(path_to_csv)
    lines = []

    #if not installed run, sudo gem install fastercsv
    #http://fastercsv.rubyforge.org/
    require 'fastercsv'

    FasterCSV.foreach(path_to_csv) do |row|
      lines << row
    end
    lines
  end

  def new_release(line)
    params = Hash.new
    params[:release] = Hash.new
    params[:release]["title"] = line[0]
    params[:release]["rdate"] = line[1]
    params[:release]["body"] = line[3]
    params[:release]["notes"] = line[4]
    release = Release.new(params[:release])
    release.save
  end

end

this is ma  model


class Import < ActiveRecord::Base
  # Paperclip
  has_attached_file :csv
  validates_attachment_presence :csv
  validates_attachment_content_type :csv, :content_type =>
['text/csv','text/comma-separated-values','text/csv','application/csv','application/excel','application/vnd.ms-excel','application/vnd.msexcel','text/anytext','text/plain']
end


anyone pls help  me
71c85a662af0764df3a77cc00db166c9?d=identicon&s=25 Raphael Bauduin (Guest)
on 2010-03-31 15:05
(Received via mailing list)
On Wed, Mar 31, 2010 at 6:34 AM, Mathew Augustine
<augustine.mathew99@gmail.com> wrote:
>
> hi actually i am  creating an application  to import a csv  file  to
> database. but onn running that application ai'am  getting errors like
> this
>
>  NoMethodError in ImportsController#new
>
>
> undefined method `login_required' for #<ImportsController:0xb6d84b5c>


Can you tell where is the method login_required defined?

Raphaƫl
This topic is locked and can not be replied to.