Newbie error message!

hello you all,

I’m new with Ruby on Rails. I’m developing an application. I got the
follwoign erro, can anybody give a hand?

ArgumentError in AdminController#import_strings
wrong number of arguments (0 for 1)
RAILS_ROOT: ./script/…/config/…
Request
Parameters: {“commit”=>“Import”,
“description”=>{“description”=>#StringIO:0x36311f0},
“variable”=>[“English”]}

Show session dump


flash: !map:ActionController::Flash::FlashHash {}

Response
Headers: {“cookie”=>[], “Cache-Control”=>“no-cache”}

This is my code (controller):

def import_strings(a_string)
table = { }
IO.foreach(’#{a_string}’) { |line|
if line =~ /^ \s* " (.?) " \s = \s* " (.*?) "/x
table[ $1 ] = $2

description = Description.new
description.Index_Number = [$1]
description.Name_Of_String = [$2]
description.save

end
}

This is my cod (view):

Importing Strings

<%= start_form_tag({:action => 'import_strings'}, :multipart => true)%>

Lenguage:
<%= select("variable", nil, @array_of_lenguages) %>

Path:
<%= file_field "description", "description"%>

<p><%= submit_tag "Import"%></p>

<%= end_form_tag%>

Your function takes one argument but your not passing it any from your
view.

Stephen wrote:

Your function takes one argument but your not passing it any from your
view.

Hi Stephen…thanks for your help. I’m trying to follow a books example
(uploading a picture) and they didn’t pass any parameters in thier view.
Rather they created an attribute in the model. This is what I did:

My controller code:

class UploadController < ApplicationController

def get
@description = Description.new
end

def save
@description = Description.new(params[:description])
if @description.save
redirect_to(:action=>‘show’, :id =>@description.id)
else
render(:action=>:get)
end
end
end

My model code:

class Description < ActiveRecord::Base

def import_strings(a_file)
table = { }
IO.foreach(’#{a_file}’) { |line|
if line =~ /^ \s* " (.?) " \s = \s* " (.*?) "/x
table[ $1 ] = $2
end
}

description = Description.new
description.Lenguage = [$1]
description.Platform = [$2]
description.save

end

def description=(description_field)
self.Index_Number = [$1]
self.Name_Of_String = [$2]

end
end

My view model:

Importing Strings

<%= start_form_tag({:action => 'save'}, :multipart => true)%>

Lenguage:
<%= select("variable", nil, @array_of_lenguages) %>

Path:
<%= file_field ("description", "description")%>

<p><%= submit_tag "Import"%></p>

<%= end_form_tag%>

I’m confused because the book uploads pictures but I want to upload
key-values read and parsed from an incoming file. Am I comparing two
things totally different? What step should I take.

thanks so much for your time

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs