Jonathan Buch wrote:
>> George, could you please disable this "munging" of ?params=asd into
> actions?
> This really is annoying... But maybe I'm getting this all wrong?
> I know that at least Manveru has problems with that too...
>
+1
I have an edit action in my controller
def edit(entry=nil)
...
end
http://localhost:7777/edit/2304
So far so good.
This is in my edit.xhtml
<form method="post" action="edit/#{@entry.oid}">
<textarea name="content" class="editbox">#{@entry.desc}</textarea>
<br />
<label for="name">Name: </label>
<input type="text" name="name" value="#{@entry.name}" size="60" value=""
/>
<br />
<input name="commit" type="submit" value="Save" />
<input name="commit" type="submit" value="Preview" />
<input name="commit" type="submit" value="Cancel" />
<input name="commit" type="submit" value="Save" />
</form>
Error: wrong number of arguments (5 for 1)
Parameters: {"name"=>nil, "commit"=>"Cancel", "content"=>nil}
REQUEST_URI => /edit/edit/2304
REFERER => http://localhost:7777/edit/2304
SERVER_PORT => 7777
GATEWAY_INTERFACE => CGI/1.1
QUERY_STRING => edit;2304;
*boggles*
Why is 'edit' being loaded into the QUERY_STRING?
Is there anyway to turn off params being sent as arguments to the action?
What happens to <input type="file"> elements?
Are they on both the URI and in the params hash?
The only thing I can think of is to do:
def edit(entry=nil, *params)
...
end
Except 'edit' is loaded into the URI making my 'entry' param the 1st
parameter on GET and 2nd parameter on POST.
Thanks
--
J. Lambert