Hello everyone,
I’ll start by describing what I’m doing and saying that I am a newbie.
In my ROR (2.1.2) application, would like to send read data from a text
field using the onclick tag to a python script I wrote.
The problem I encounter is with the onclick tag. I used the system()
function to call the python script, but it doesn’t function. The python
script is only called when I reload the page and not when I click on the
send button.
Who can help me or tell me how to better call the python script once I
click on the send button.
I’ll be grateful for your help.
This is what my code looks like:
On Mon, Sep 07, 2009 at 09:44:31PM +0200, Ngassa C. wrote:
Who can help me or tell me how to better call the python script once I
&’) %>" />
I have no idea if calling system() from within an ERb template should
work
or not, it seems like a pretty wild idea 
I would try making a controller action that the form submits to, and
have
the controller make the system call with the data. I haven’t tested that
but
I would give it a try if possible.
HTH
Matt
On Sep 7, 8:44 pm, Ngassa C. [email protected]
wrote:
click on the send button.
I think you have a basic misunderstanding of how erb templates work.
Anything in <% or <%= tags is evaluated when the template is rendered
- that is what rendering an erb template means. Furthermore, an
onclick options can only be a chunk of javascript.
As Matt says, you need to write a controller action that your form is
submitted to. Furthermore, be careful of the data you receive - if the
example you posted worked it would allow a user to run arbitrary shell
commands on your server.
Fred
I’ll try writing a controller action.
The idea with the controller action was really a good one.
Now I can call the pythonscript without problem while clicking on a
link, but it still cannot read from the form.
How can I do this, or what should be written at the place of :msg =>
“$(‘txt_message’).value”.
This is what my code now looks like:
<%=link_to_remote 'send', :url => { :action => 'sendmsg', :controller
=> 'contacts', :partner => @partner, :msg => "$('txt_message').value" }
%>
Carine
As Matt says, you need to write a controller action that your form is
submitted to.
Ok, thanks for the quick reply.
I’ll try writing a controller action.
Thanks to you all,
I got my problem solved using the form_tag and I could query the entry
from the field using params[:myparameter] and use them in the controller
action. Using :with also functioned.
Carine
On 8 Sep 2009, at 12:59, Ngassa C. wrote:
I’ll try writing a controller action.
The idea with the controller action was really a good one.
Now I can call the pythonscript without problem while clicking on a
link, but it still cannot read from the form.
How can I do this, or what should be written at the place of :msg =>
“$(‘txt_message’).value”.
Read up about the :with option to link to remote (I wrote a bit about
it a while ago:
http://www.spacevatican.org/2008/5/17/with-or-without-you-link_to_remote-s-mysterious-parameter
)
Fred