I''m working with two controllers- login and admin. When the login
action in the login controller has worked out successfully, it
redirects to an index.rjs template in the admin controller. The
problem is that this rjs template doesn''t get interpreted, so
I''m left
with a screenful of javascript.
Here''s the login action:
def login
if request.get?
session[:user_id] = nil
@user = User.new
else
@user = User.new(params[:user])
logged_in_user = @user.try_to_login
if logged_in_user
session[:user_id] = logged_in_user.id
session[:user_name] = logged_in_user.name
session[:user_roommate] = logged_in_user.roommate
jumpto = session[:jumpto] || {:controller => "admin",
:action
=>"index"}
session[:jumpto] = nil
redirect_to(jumpto)
else
flash[:notice] = "Invalid user/password combination"
end
end
end
... and here''s the index.rjs that it redirects to:
page.replace_html ''content'', :partial =>
''list''
page.replace_html ''nav'', :partial =>
''nav_this_month''
... and here''s what ends up on my screen:
try {
Element.update("content", "<div
id=\"payments\">\n<div
id=\"form\">\n\t<form action=\"/admin/create/23\"
method=\"post\"
onsubmit=\"new Ajax.Request(''/admin/create/23'',
{asynchronous:true,
evalScripts:true, parameters:Form.serialize(this)}); return
false;\">\n<table>\n\n<tr
id=\"form_row\">\t\n\t<th
class=\"date\"><input id=\"payment_date\"
name=\"payment[date]\"
order=\"monthdayyear\" size=\"9\" type=\"text\"
use_month_numbers=\"true\" value=\"11/19/2006\"
/></th>\n\t<th
class=\"payee\"><input id=\"payment_payee\"
maxsize=\"15\"
name=\"payment[payee]\" size=\"12\" type=\"text\"
value=\"payee\"
/></th>\n \t<th class=\"note\"><input
id=\"payment_note\"
maxsize=\"17\" name=\"payment[note]\" size=\"17\"
type=\"text\"
value=\"note\" /></th>\n\t<th
class=\"payer\"><select
id=\"payment_payer\" name=\"payment[payer]\"><option
value=\"chris\">chris</option>\n<option
value=\"josh\"
selected=\"selected\">josh</option></select></th>\n\t<th
class=\"amount\"><input id=\"form_amount\"
maxsize=\"8\"
name=\"payment[amount]\" size=\"7\" type=\"text\"
value=\"0.00\"
/></th>\n\t<th class=\"divvy\"
id=\"form_submit\"><input
name=\"commit\" type=\"submit\" value=\"divvy!\"
/></th>\n</tr>\n</form>\n</table>\n</div>\n\n<table>\n\t<tr
id=\"register_header\">\n\t\t<th
class=\"date\"><a href=\"#\"
onclick=\"new Ajax.Request(''/admin/previous_month'',
{asynchronous:true,
evalScripts:true}); return
false;\"><<</a>\n\t\t\t\t\t\tdate\n\t\t\t\t\t\t<a
href=\"#\"
onclick=\"new Ajax.Request(''/admin/next_month'',
{asynchronous:true,
evalScripts:true}); return
false;\">>></a>\n\t\t\t\t\t\t</th>\n\t\t<th
class=\"payee\">payee</th><th
class=\"note\">note</th><th
class=\"payer\">payer</th><th class=\"amount\"
id=\"register_header_amount\">amount</th><th
class=\"divvy\"
id=\"register_header_divvy\">divvy</th><th
id=\"register_header_runningbalance\">balance</th><th><th></tr>\n\t\t<tbody
id=\"register\">\n\t\t\n\n<tr class = debit
id=\"21\">\n\n\t<td>11/16/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
class=\"amount\">$10.00</td>\t\t\n\t<td
class=\"divvy\">$-5.00</td>\n\n\t<td
class=\"runningbalance_debit\">$-25.00</td>\n\t\t\n\t\t
\n\t\t\n\t\t<td><a href=\"#\" onclick=\"new
Ajax.Request(''/admin/edit/21'', {asynchronous:true,
evalScripts:true});
return false;\"><img alt=\"Edit\" border=\"0\"
src=\"/images/edit.png?1142214964\"
/></a></td>\n\t\t\n\t\t<td><a
href=\"#\" onclick=\"new
Ajax.Updater(''register'',
''/admin/destroy/21'',
{asynchronous:true, evalScripts:true}); return false;\"><img
alt=\"Destroy\" border=\"0\"
src=\"/images/destroy.png?1142214730\"
/></a></td>\n</tr>\n\n\n<tr class = debit
id=\"5\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
class=\"amount\">$20.00</td>\t\t\n\t<td
class=\"divvy\">$-10.00</td>\n\n\t<td
class=\"runningbalance_debit\">$-20.00</td>\n\t\t\n\t\t
\n\t\t\n\t\t<td><a href=\"#\" onclick=\"new
Ajax.Request(''/admin/edit/5'', {asynchronous:true,
evalScripts:true});
return false;\"><img alt=\"Edit\" border=\"0\"
src=\"/images/edit.png?1142214964\"
/></a></td>\n\t\t\n\t\t<td><a
href=\"#\" onclick=\"new
Ajax.Updater(''register'', ''/admin/destroy/5'',
{asynchronous:true, evalScripts:true}); return false;\"><img
alt=\"Destroy\" border=\"0\"
src=\"/images/destroy.png?1142214730\"
/></a></td>\n</tr>\n\n\n<tr class = debit
id=\"14\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
class=\"amount\">$10.00</td>\t\t\n\t<td
class=\"divvy\">$-5.00</td>\n\n\t<td
class=\"runningbalance_debit\">$-10.00</td>\n\t\t\n\t\t
\n\t\t\n\t\t<td><a href=\"#\" onclick=\"new
Ajax.Request(''/admin/edit/14'', {asynchronous:true,
evalScripts:true});
return false;\"><img alt=\"Edit\" border=\"0\"
src=\"/images/edit.png?1142214964\"
/></a></td>\n\t\t\n\t\t<td><a
href=\"#\" onclick=\"new
Ajax.Updater(''register'',
''/admin/destroy/14'',
{asynchronous:true, evalScripts:true}); return false;\"><img
alt=\"Destroy\" border=\"0\"
src=\"/images/destroy.png?1142214730\"
/></a></td>\n</tr>\n\n\n<tr
id\"26\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>chris</td>\n\t<td
class=\"amount\">$20.00</td>\t\t\n\t<td
class=\"divvy\">$10.00</td>\n\n\t<td
class=\"runningbalance_debit\">$-5.00</td>\n\t\t\n\t\t
\n\t\t\n\t\t<td><a href=\"#\" onclick=\"new
Ajax.Request(''/admin/edit/26'', {asynchronous:true,
evalScripts:true});
return false;\"><img alt=\"Edit\" border=\"0\"
src=\"/images/edit.png?1142214964\"
/></a></td>\n\t\t\n\t\t<td><a
href=\"#\" onclick=\"new
Ajax.Updater(''register'',
''/admin/destroy/26'',
{asynchronous:true, evalScripts:true}); return false;\"><img
alt=\"Destroy\" border=\"0\"
src=\"/images/destroy.png?1142214730\"
/></a></td>\n</tr>\n\n\n<tr class = debit
id=\"27\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
class=\"amount\">$10.00</td>\t\t\n\t<td
class=\"divvy\">$-5.00</td>\n\n\t<td
class=\"runningbalance_debit\">$-15.00</td>\n\t\t\n\t\t
\n\t\t\n\t\t<td><a href=\"#\" onclick=\"new
Ajax.Request(''/admin/edit/27'', {asynchronous:true,
evalScripts:true});
return false;\"><img alt=\"Edit\" border=\"0\"
src=\"/images/edit.png?1142214964\"
/></a></td>\n\t\t\n\t\t<td><a
href=\"#\" onclick=\"new
Ajax.Updater(''register'',
''/admin/destroy/27'',
{asynchronous:true, evalScripts:true}); return false;\"><img
alt=\"Destroy\" border=\"0\"
src=\"/images/destroy.png?1142214730\"
/></a></td>\n</tr>\n\n\n<tr class = debit
id=\"32\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
class=\"amount\">$10.00</td>\t\t\n\t<td
class=\"divvy\">$-5.00</td>\n\n\t<td
class=\"runningbalance_debit\">$-10.00</td>\n\t\t\n\t\t
\n\t\t\n\t\t<td><a href=\"#\" onclick=\"new
Ajax.Request(''/admin/edit/32'', {asynchronous:true,
evalScripts:true});
return false;\"><img alt=\"Edit\" border=\"0\"
src=\"/images/edit.png?1142214964\"
/></a></td>\n\t\t\n\t\t<td><a
href=\"#\" onclick=\"new
Ajax.Updater(''register'',
''/admin/destroy/32'',
{asynchronous:true, evalScripts:true}); return false;\"><img
alt=\"Destroy\" border=\"0\"
src=\"/images/destroy.png?1142214730\"
/></a></td>\n</tr>\n\n\n<tr class = debit
id=\"20\">\n\n\t<td>11/12/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
class=\"amount\">$10.00</td>\t\t\n\t<td
class=\"divvy\">$-5.00</td>\n\n\t<td
class=\"runningbalance_debit\">$-5.00</td>\n\t\t\n\t\t
\n\t\t\n\t\t<td><a href=\"#\" onclick=\"new
Ajax.Request(''/admin/edit/20'', {asynchronous:true,
evalScripts:true});
return false;\"><img alt=\"Edit\" border=\"0\"
src=\"/images/edit.png?1142214964\"
/></a></td>\n\t\t\n\t\t<td><a
href=\"#\" onclick=\"new
Ajax.Updater(''register'',
''/admin/destroy/20'',
{asynchronous:true, evalScripts:true}); return false;\"><img
alt=\"Destroy\" border=\"0\"
src=\"/images/destroy.png?1142214730\"
/></a></td>\n</tr>\n\n\n\n<tr class =\"debit\"
id=\"balance_fwd\">\n\t<td>11/1/2006</td>\n\t<td></td>\n\t<td>Balance
Forward</td>\n\t<td></td>\n\t<td
class=\"amount\"></td>\t\t\n\t<td
class=\"divvy\"></td>\n\t<td
class=\"runningbalance_debit\">$-10.00</td>\n</tr>\n\n\t\t</tbody>\n</table>\n\n</div>\n</div>\n\n");
Element.update("nav", "<dt
id=\"logo\">divvy</dt>\n\t \n\t\t<dd
id=\"t-logout\">\n\t\t<a href=\"/login/logout\">Log
out</a>\n\t</dd>\n\t\t\n\t<dd
id=\"t-profile\">\n\t\t<a href=\"#\"
onclick=\"new Ajax.Request(''/login/edit_user'',
{asynchronous:true,
evalScripts:true}); return
false;\">Profile</a>\n\t</dd>\n\t<dd
id=\"selected\">\n\t\t<a href=\"#\" onclick=\"new
Ajax.Request(''/admin/this_month'', {asynchronous:true,
evalScripts:true}); return false;\">This
Month</a>\n\t</dd>\n\t");
} catch (e) { alert(''RJS error:\n\n'' + e.toString());
alert(''Element.update(\"content\", \"<div
id=\\"payments\\">\n<div
id=\\"form\\">\n\t<form action=\\"/admin/create/23\\"
method=\\"post\\"
onsubmit=\\"new Ajax.Request(\''/admin/create/23\'',
{asynchronous:true,
evalScripts:true, parameters:Form.serialize(this)}); return
false;\\">\n<table>\n\n<tr
id=\\"form_row\\">\t\n\t<th
class=\\"date\\"><input id=\\"payment_date\\"
name=\\"payment[date]\\"
order=\\"monthdayyear\\" size=\\"9\\"
type=\\"text\\"
use_month_numbers=\\"true\\" value=\\"11/19/2006\\"
/></th>\n\t<th
class=\\"payee\\"><input id=\\"payment_payee\\"
maxsize=\\"15\\"
name=\\"payment[payee]\\" size=\\"12\\"
type=\\"text\\"
value=\\"payee\\" /></th>\n \t<th
class=\\"note\\"><input
id=\\"payment_note\\" maxsize=\\"17\\"
name=\\"payment[note]\\"
size=\\"17\\" type=\\"text\\" value=\\"note\\"
/></th>\n\t<th
class=\\"payer\\"><select id=\\"payment_payer\\"
name=\\"payment[payer]\\"><option
value=\\"chris\\">chris</option>\n<option
value=\\"josh\\"
selected=\\"selected\\">josh</option></select></th>\n\t<th
class=\\"amount\\"><input id=\\"form_amount\\"
maxsize=\\"8\\"
name=\\"payment[amount]\\" size=\\"7\\"
type=\\"text\\"
value=\\"0.00\\" /></th>\n\t<th
class=\\"divvy\\"
id=\\"form_submit\\"><input name=\\"commit\\"
type=\\"submit\\"
value=\\"divvy!\\"
/></th>\n</tr>\n</form>\n</table>\n</div>\n\n<table>\n\t<tr
id=\\"register_header\\">\n\t\t<th
class=\\"date\\"><a href=\\"#\\"
onclick=\\"new Ajax.Request(\''/admin/previous_month\'',
{asynchronous:true, evalScripts:true}); return
false;\\"><<</a>\n\t\t\t\t\t\tdate\n\t\t\t\t\t\t<a
href=\\"#\\"
onclick=\\"new Ajax.Request(\''/admin/next_month\'',
{asynchronous:true,
evalScripts:true}); return
false;\\">>></a>\n\t\t\t\t\t\t</th>\n\t\t<th
class=\\"payee\\">payee</th><th
class=\\"note\\">note</th><th
class=\\"payer\\">payer</th><th
class=\\"amount\\"
id=\\"register_header_amount\\">amount</th><th
class=\\"divvy\\"
id=\\"register_header_divvy\\">divvy</th><th
id=\\"register_header_runningbalance\\">balance</th><th><th></tr>\n\t\t<tbody
id=\\"register\\">\n\t\t\n\n<tr class = debit
id=\\"21\\">\n\n\t<td>11/16/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
class=\\"amount\\">$10.00</td>\t\t\n\t<td
class=\\"divvy\\">$-5.00</td>\n\n\t<td
class=\\"runningbalance_debit\\">$-25.00</td>\n\t\t\n\t\t
\n\t\t\n\t\t<td><a href=\\"#\\" onclick=\\"new
Ajax.Request(\''/admin/edit/21\'', {asynchronous:true,
evalScripts:true}); return false;\\"><img alt=\\"Edit\\"
border=\\"0\\"
src=\\"/images/edit.png?1142214964\\"
/></a></td>\n\t\t\n\t\t<td><a
href=\\"#\\" onclick=\\"new
Ajax.Updater(\''register\'',
\''/admin/destroy/21\'', {asynchronous:true, evalScripts:true});
return
false;\\"><img alt=\\"Destroy\\" border=\\"0\\"
src=\\"/images/destroy.png?1142214730\\"
/></a></td>\n</tr>\n\n\n<tr
class = debit
id=\\"5\\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
class=\\"amount\\">$20.00</td>\t\t\n\t<td
class=\\"divvy\\">$-10.00</td>\n\n\t<td
class=\\"runningbalance_debit\\">$-20.00</td>\n\t\t\n\t\t
\n\t\t\n\t\t<td><a href=\\"#\\" onclick=\\"new
Ajax.Request(\''/admin/edit/5\'', {asynchronous:true,
evalScripts:true});
return false;\\"><img alt=\\"Edit\\"
border=\\"0\\"
src=\\"/images/edit.png?1142214964\\"
/></a></td>\n\t\t\n\t\t<td><a
href=\\"#\\" onclick=\\"new
Ajax.Updater(\''register\'',
\''/admin/destroy/5\'', {asynchronous:true, evalScripts:true});
return
false;\\"><img alt=\\"Destroy\\" border=\\"0\\"
src=\\"/images/destroy.png?1142214730\\"
/></a></td>\n</tr>\n\n\n<tr
class = debit
id=\\"14\\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
class=\\"amount\\">$10.00</td>\t\t\n\t<td
class=\\"divvy\\">$-5.00</td>\n\n\t<td
class=\\"runningbalance_debit\\">$-10.00</td>\n\t\t\n\t\t
\n\t\t\n\t\t<td><a href=\\"#\\" onclick=\\"new
Ajax.Request(\''/admin/edit/14\'', {asynchronous:true,
evalScripts:true}); return false;\\"><img alt=\\"Edit\\"
border=\\"0\\"
src=\\"/images/edit.png?1142214964\\"
/></a></td>\n\t\t\n\t\t<td><a
href=\\"#\\" onclick=\\"new
Ajax.Updater(\''register\'',
\''/admin/destroy/14\'', {asynchronous:true, evalScripts:true});
return
false;\\"><img alt=\\"Destroy\\" border=\\"0\\"
src=\\"/images/destroy.png?1142214730\\"
/></a></td>\n</tr>\n\n\n<tr
id\\"26\\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>chris</td>\n\t<td
class=\\"amount\\">$20.00</td>\t\t\n\t<td
class=\\"divvy\\">$10.00</td>\n\n\t<td
class=\\"runningbalance_debit\\">$-5.00</td>\n\t\t\n\t\t
\n\t\t\n\t\t<td><a href=\\"#\\" onclick=\\"new
Ajax.Request(\''/admin/edit/26\'', {asynchronous:true,
evalScripts:true}); return false;\\"><img alt=\\"Edit\\"
border=\\"0\\"
src=\\"/images/edit.png?1142214964\\"
/></a></td>\n\t\t\n\t\t<td><a
href=\\"#\\" onclick=\\"new
Ajax.Updater(\''register\'',
\''/admin/destroy/26\'', {asynchronous:true, evalScripts:true});
return
false;\\"><img alt=\\"Destroy\\" border=\\"0\\"
src=\\"/images/destroy.png?1142214730\\"
/></a></td>\n</tr>\n\n\n<tr
class = debit
id=\\"27\\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
class=\\"amount\\">$10.00</td>\t\t\n\t<td
class=\\"divvy\\">$-5.00</td>\n\n\t<td
class=\\"runningbalance_debit\\">$-15.00</td>\n\t\t\n\t\t
\n\t\t\n\t\t<td><a href=\\"#\\" onclick=\\"new
Ajax.Request(\''/admin/edit/27\'', {asynchronous:true,
evalScripts:true}); return false;\\"><img alt=\\"Edit\\"
border=\\"0\\"
src=\\"/images/edit.png?1142214964\\"
/></a></td>\n\t\t\n\t\t<td><a
href=\\"#\\" onclick=\\"new
Ajax.Updater(\''register\'',
\''/admin/destroy/27\'', {asynchronous:true, evalScripts:true});
return
false;\\"><img alt=\\"Destroy\\" border=\\"0\\"
src=\\"/images/destroy.png?1142214730\\"
/></a></td>\n</tr>\n\n\n<tr
class = debit
id=\\"32\\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
class=\\"amount\\">$10.00</td>\t\t\n\t<td
class=\\"divvy\\">$-5.00</td>\n\n\t<td
class=\\"runningbalance_debit\\">$-10.00</td>\n\t\t\n\t\t
\n\t\t\n\t\t<td><a href=\\"#\\" onclick=\\"new
Ajax.Request(\''/admin/edit/32\'', {asynchronous:true,
evalScripts:true}); return false;\\"><img alt=\\"Edit\\"
border=\\"0\\"
src=\\"/images/edit.png?1142214964\\"
/></a></td>\n\t\t\n\t\t<td><a
href=\\"#\\" onclick=\\"new
Ajax.Updater(\''register\'',
\''/admin/destroy/32\'', {asynchronous:true, evalScripts:true});
return
false;\\"><img alt=\\"Destroy\\" border=\\"0\\"
src=\\"/images/destroy.png?1142214730\\"
/></a></td>\n</tr>\n\n\n<tr
class = debit
id=\\"20\\">\n\n\t<td>11/12/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
class=\\"amount\\">$10.00</td>\t\t\n\t<td
class=\\"divvy\\">$-5.00</td>\n\n\t<td
class=\\"runningbalance_debit\\">$-5.00</td>\n\t\t\n\t\t
\n\t\t\n\t\t<td><a href=\\"#\\" onclick=\\"new
Ajax.Request(\''/admin/edit/20\'', {asynchronous:true,
evalScripts:true}); return false;\\"><img alt=\\"Edit\\"
border=\\"0\\"
src=\\"/images/edit.png?1142214964\\"
/></a></td>\n\t\t\n\t\t<td><a
href=\\"#\\" onclick=\\"new
Ajax.Updater(\''register\'',
\''/admin/destroy/20\'', {asynchronous:true, evalScripts:true});
return
false;\\"><img alt=\\"Destroy\\" border=\\"0\\"
src=\\"/images/destroy.png?1142214730\\"
/></a></td>\n</tr>\n\n\n\n<tr
class =\\"debit\\"
id=\\"balance_fwd\\">\n\t<td>11/1/2006</td>\n\t<td></td>\n\t<td>Balance
Forward</td>\n\t<td></td>\n\t<td
class=\\"amount\\"></td>\t\t\n\t<td
class=\\"divvy\\"></td>\n\t<td
class=\\"runningbalance_debit\\">$-10.00</td>\n</tr>\n\n\t\t</tbody>\n</table>\n\n</div>\n</div>\n\n\");\nElement.update(\"nav\",
\"<dt id=\\"logo\\">divvy</dt>\n\t \n\t\t<dd
id=\\"t-logout\\">\n\t\t<a
href=\\"/login/logout\\">Log
out</a>\n\t</dd>\n\t\t\n\t<dd
id=\\"t-profile\\">\n\t\t<a href=\\"#\\"
onclick=\\"new
Ajax.Request(\''/login/edit_user\'', {asynchronous:true,
evalScripts:true}); return
false;\\">Profile</a>\n\t</dd>\n\t<dd
id=\\"selected\\">\n\t\t<a href=\\"#\\"
onclick=\\"new
Ajax.Request(\''/admin/this_month\'', {asynchronous:true,
evalScripts:true}); return false;\\">This
Month</a>\n\t</dd>\n\t\");'');
throw e }
Any suggestions would be greatly appreciated.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
Hi Josh, Does your default layout contain the declaration to prototype.js? You should have <%= javascript_include_tag :defaults %> somewhere in the head of your index rhtml. One common place to put it is in application.rhtml. regards, Dave On Nov 19, 10:12 am, "josh" <weinstein.j...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> I''m working with two controllers- login and admin. When the login > action in the login controller has worked out successfully, it > redirects to an index.rjs template in the admin controller. The > problem is that this rjs template doesn''t get interpreted, so I''m left > with a screenful of javascript. > > Here''s the login action: > > def login > if request.get? > session[:user_id] = nil > @user = User.new > else > @user = User.new(params[:user]) > logged_in_user = @user.try_to_login > if logged_in_user > session[:user_id] = logged_in_user.id > session[:user_name] = logged_in_user.name > session[:user_roommate] = logged_in_user.roommate > jumpto = session[:jumpto] || {:controller => "admin", :action > =>"index"} > session[:jumpto] = nil > redirect_to(jumpto) > else > flash[:notice] = "Invalid user/password combination" > end > end > end > > ... and here''s the index.rjs that it redirects to: > > page.replace_html ''content'', :partial => ''list'' > page.replace_html ''nav'', :partial => ''nav_this_month'' > > ... and here''s what ends up on my screen: > try { > Element.update("content", "<div id=\"payments\">\n<div > id=\"form\">\n\t<form action=\"/admin/create/23\" method=\"post\" > onsubmit=\"new Ajax.Request(''/admin/create/23'', {asynchronous:true, > evalScripts:true, parameters:Form.serialize(this)}); return > false;\">\n<table>\n\n<tr id=\"form_row\">\t\n\t<th > class=\"date\"><input id=\"payment_date\" name=\"payment[date]\" > order=\"monthdayyear\" size=\"9\" type=\"text\" > use_month_numbers=\"true\" value=\"11/19/2006\" /></th>\n\t<th > class=\"payee\"><input id=\"payment_payee\" maxsize=\"15\" > name=\"payment[payee]\" size=\"12\" type=\"text\" value=\"payee\" > /></th>\n \t<th class=\"note\"><input id=\"payment_note\" > maxsize=\"17\" name=\"payment[note]\" size=\"17\" type=\"text\" > value=\"note\" /></th>\n\t<th class=\"payer\"><select > id=\"payment_payer\" name=\"payment[payer]\"><option > value=\"chris\">chris</option>\n<option value=\"josh\" > selected=\"selected\">josh</option></select></th>\n\t<th > class=\"amount\"><input id=\"form_amount\" maxsize=\"8\" > name=\"payment[amount]\" size=\"7\" type=\"text\" value=\"0.00\" > /></th>\n\t<th class=\"divvy\" id=\"form_submit\"><input > name=\"commit\" type=\"submit\" value=\"divvy!\" > /></th>\n</tr>\n</form>\n</table>\n</div>\n\n<table>\n\t<tr > id=\"register_header\">\n\t\t<th class=\"date\"><a href=\"#\" > onclick=\"new Ajax.Request(''/admin/previous_month'', {asynchronous:true, > evalScripts:true}); return > false;\"><<</a>\n\t\t\t\t\t\tdate\n\t\t\t\t\t\t<a href=\"#\" > onclick=\"new Ajax.Request(''/admin/next_month'', {asynchronous:true, > evalScripts:true}); return false;\">>></a>\n\t\t\t\t\t\t</th>\n\t\t<th > class=\"payee\">payee</th><th class=\"note\">note</th><th > class=\"payer\">payer</th><th class=\"amount\" > id=\"register_header_amount\">amount</th><th class=\"divvy\" > id=\"register_header_divvy\">divvy</th><th > id=\"register_header_runningbalance\">balance</th><th><th></tr>\n\t\t<tbody > id=\"register\">\n\t\t\n\n<tr class = debit > id=\"21\">\n\n\t<td>11/16/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td > class=\"amount\">$10.00</td>\t\t\n\t<td > class=\"divvy\">$-5.00</td>\n\n\t<td > class=\"runningbalance_debit\">$-25.00</td>\n\t\t\n\t\t > \n\t\t\n\t\t<td><a href=\"#\" onclick=\"new > Ajax.Request(''/admin/edit/21'', {asynchronous:true, evalScripts:true}); > return false;\"><img alt=\"Edit\" border=\"0\" > src=\"/images/edit.png?1142214964\" /></a></td>\n\t\t\n\t\t<td><a > href=\"#\" onclick=\"new Ajax.Updater(''register'', ''/admin/destroy/21'', > {asynchronous:true, evalScripts:true}); return false;\"><img > alt=\"Destroy\" border=\"0\" src=\"/images/destroy.png?1142214730\" > /></a></td>\n</tr>\n\n\n<tr class = debit > id=\"5\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td > class=\"amount\">$20.00</td>\t\t\n\t<td > class=\"divvy\">$-10.00</td>\n\n\t<td > class=\"runningbalance_debit\">$-20.00</td>\n\t\t\n\t\t > \n\t\t\n\t\t<td><a href=\"#\" onclick=\"new > Ajax.Request(''/admin/edit/5'', {asynchronous:true, evalScripts:true}); > return false;\"><img alt=\"Edit\" border=\"0\" > src=\"/images/edit.png?1142214964\" /></a></td>\n\t\t\n\t\t<td><a > href=\"#\" onclick=\"new Ajax.Updater(''register'', ''/admin/destroy/5'', > {asynchronous:true, evalScripts:true}); return false;\"><img > alt=\"Destroy\" border=\"0\" src=\"/images/destroy.png?1142214730\" > /></a></td>\n</tr>\n\n\n<tr class = debit > id=\"14\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td > class=\"amount\">$10.00</td>\t\t\n\t<td > class=\"divvy\">$-5.00</td>\n\n\t<td > class=\"runningbalance_debit\">$-10.00</td>\n\t\t\n\t\t > \n\t\t\n\t\t<td><a href=\"#\" onclick=\"new > Ajax.Request(''/admin/edit/14'', {asynchronous:true, evalScripts:true}); > return false;\"><img alt=\"Edit\" border=\"0\" > src=\"/images/edit.png?1142214964\" /></a></td>\n\t\t\n\t\t<td><a > href=\"#\" onclick=\"new Ajax.Updater(''register'', ''/admin/destroy/14'', > {asynchronous:true, evalScripts:true}); return false;\"><img > alt=\"Destroy\" border=\"0\" src=\"/images/destroy.png?1142214730\" > /></a></td>\n</tr>\n\n\n<tr id> \"26\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>chris</td>\n\t<td > class=\"amount\">$20.00</td>\t\t\n\t<td > class=\"divvy\">$10.00</td>\n\n\t<td > class=\"runningbalance_debit\">$-5.00</td>\n\t\t\n\t\t > \n\t\t\n\t\t<td><a href=\"#\" onclick=\"new > Ajax.Request(''/admin/edit/26'', {asynchronous:true, evalScripts:true}); > return false;\"><img alt=\"Edit\" border=\"0\" > src=\"/images/edit.png?1142214964\" /></a></td>\n\t\t\n\t\t<td><a > href=\"#\" onclick=\"new Ajax.Updater(''register'', ''/admin/destroy/26'', > {asynchronous:true, evalScripts:true}); return false;\"><img > alt=\"Destroy\" border=\"0\" src=\"/images/destroy.png?1142214730\" > /></a></td>\n</tr>\n\n\n<tr class = debit > id=\"27\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td > class=\"amount\">$10.00</td>\t\t\n\t<td > class=\"divvy\">$-5.00</td>\n\n\t<td > class=\"runningbalance_debit\">$-15.00</td>\n\t\t\n\t\t > \n\t\t\n\t\t<td><a href=\"#\" onclick=\"new > Ajax.Request(''/admin/edit/27'', {asynchronous:true, evalScripts:true}); > return false;\"><img alt=\"Edit\" border=\"0\" > src=\"/images/edit.png?1142214964\" /></a></td>\n\t\t\n\t\t<td><a > href=\"#\" onclick=\"new Ajax.Updater(''register'', ''/admin/destroy/27'', > {asynchronous:true, evalScripts:true}); return false;\"><img > alt=\"Destroy\" border=\"0\" src=\"/images/destroy.png?1142214730\" > /></a></td>\n</tr>\n\n\n<tr class = debit > id=\"32\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td > class=\"amount\">$10.00</td>\t\t\n\t<td > class=\"divvy\">$-5.00</td>\n\n\t<td > class=\"runningbalance_debit\">$-10.00</td>\n\t\t\n\t\t > \n\t\t\n\t\t<td><a href=\"#\" onclick=\"new > Ajax.Request(''/admin/edit/32'', {asynchronous:true, evalScripts:true}); > return false;\"><img alt=\"Edit\" border=\"0\" > src=\"/images/edit.png?1142214964\" /></a></td>\n\t\t\n\t\t<td><a > href=\"#\" onclick=\"new Ajax.Updater(''register'', ''/admin/destroy/32'', > {asynchronous:true, evalScripts:true}); return false;\"><img > alt=\"Destroy\" border=\"0\" src=\"/images/destroy.png?1142214730\" > /></a></td>\n</tr>\n\n\n<tr class = debit > id=\"20\">\n\n\t<td>11/12/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td > class=\"amount\">$10.00</td>\t\t\n\t<td > class=\"divvy\">$-5.00</td>\n\n\t<td > class=\"runningbalance_debit\">$-5.00</td>\n\t\t\n\t\t > \n\t\t\n\t\t<td><a href=\"#\" onclick=\"new > Ajax.Request(''/admin/edit/20'', {asynchronous:true, evalScripts:true}); > return false;\"><img alt=\"Edit\" border=\"0\" > src=\"/images/edit.png?1142214964\" /></a></td>\n\t\t\n\t\t<td><a > href=\"#\" onclick=\"new Ajax.Updater(''register'', ''/admin/destroy/20'', > {asynchronous:true, evalScripts:true}); return false;\"><img > alt=\"Destroy\" border=\"0\" src=\"/images/destroy.png?1142214730\" > /></a></td>\n</tr>\n\n\n\n<tr class =\"debit\" > id=\"balance_fwd\">\n\t<td>11/1/2006</td>\n\t<td></td>\n\t<td>Balance > Forward</td>\n\t<td></td>\n\t<td class=\"amount\"></td>\t\t\n\t<td > class=\"divvy\"></td>\n\t<td > class=\"runningbalance_debit\">$-10.00</td>\n</tr>\n\n\t\t</tbody>\n</table>\n\n</div>\n</div>\n\n"); > Element.update("nav", "<dt id=\"logo\">divvy</dt>\n\t \n\t\t<dd > id=\"t-logout\">\n\t\t<a href=\"/login/logout\">Log > out</a>\n\t</dd>\n\t\t\n\t<dd id=\"t-profile\">\n\t\t<a href=\"#\" > onclick=\"new Ajax.Request(''/login/edit_user'', {asynchronous:true, > evalScripts:true}); return false;\">Profile</a>\n\t</dd>\n\t<dd > id=\"selected\">\n\t\t<a href=\"#\" onclick=\"new > Ajax.Request(''/admin/this_month'', {asynchronous:true, > evalScripts:true}); return false;\">This Month</a>\n\t</dd>\n\t");} catch (e) { alert(''RJS error:\n\n'' + e.toString());alert(''Element.update(\"content\", \"<div id=\\"payments\\">\n<div > id=\\"form\\">\n\t<form action=\\"/admin/create/23\\" method=\\"post\\" > onsubmit=\\"new Ajax.Request(\''/admin/create/23\'', {asynchronous:true, > evalScripts:true, parameters:Form.serialize(this)}); return > false;\\">\n<table>\n\n<tr id=\\"form_row\\">\t\n\t<th > class=\\"date\\"><input id=\\"payment_date\\" name=\\"payment[date]\\" > order=\\"monthdayyear\\" size=\\"9\\" type=\\"text\\" > use_month_numbers=\\"true\\" value=\\"11/19/2006\\" /></th>\n\t<th > class=\\"payee\\"><input id=\\"payment_payee\\" maxsize=\\"15\\" > name=\\"payment[payee]\\" size=\\"12\\" type=\\"text\\" > value=\\"payee\\" /></th>\n \t<th class=\\"note\\"><input > id=\\"payment_note\\" maxsize=\\"17\\" name=\\"payment[note]\\" > size=\\"17\\" type=\\"text\\" value=\\"note\\" /></th>\n\t<th > class=\\"payer\\"><select id=\\"payment_payer\\" > name=\\"payment[payer]\\"><option > value=\\"chris\\">chris</option>\n<option value=\\"josh\\" > selected=\\"selected\\">josh</option></select></th>\n\t<th > class=\\"amount\\"><input id=\\"form_amount\\" maxsize=\\"8\\" > name=\\"payment[amount]\\" size=\\"7\\" type=\\"text\\" > value=\\"0.00\\" /></th>\n\t<th class=\\"divvy\\" > id=\\"form_submit\\"><input name=\\"commit\\" type=\\"submit\\" > value=\\"divvy!\\" > /></th>\n</tr>\n</form>\n</table>\n</div>\n\n<table>\n\t<tr > id=\\"register_header\\">\n\t\t<th class=\\"date\\"><a href=\\"#\\" > onclick=\\"new Ajax.Request(\''/admin/previous_month\'', > {asynchronous:true, evalScripts:true}); return > false;\\"><<</a>\n\t\t\t\t\t\tdate\n\t\t\t\t\t\t<a href=\\"#\\" > onclick=\\"new Ajax.Request(\''/admin/next_month\'', {asynchronous:true, > evalScripts:true}); return false;\\">>></a>\n\t\t\t\t\t\t</th>\n\t\t<th > class=\\"payee\\">payee</th><th class=\\"note\\">note</th><th > class=\\"payer\\">payer</th><th class=\\"amount\\" > id=\\"register_header_amount\\">amount</th><th class=\\"divvy\\" > id=\\"register_header_divvy\\">divvy</th><th > id=\\"register_header_runningbalance\\">balance</th><th><th></tr>\n\t\t<tbody > id=\\"register\\">\n\t\t\n\n<tr class = debit > id=\\"21\\">\n\n\t<td>11/16/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td > class=\\"amount\\">$10.00</td>\t\t\n\t<td > class=\\"divvy\\">$-5.00</td>\n\n\t<td > class=\\"runningbalance_debit\\">$-25.00</td>\n\t\t\n\t\t > \n\t\t\n\t\t<td><a href=\\"#\\" onclick=\\"new > Ajax.Request(\''/admin/edit/21\'', {asynchronous:true, > evalScripts:true}); return false;\\"><img alt=\\"Edit\\" border=\\"0\\" > src=\\"/images/edit.png?1142214964\\" /></a></td>\n\t\t\n\t\t<td><a > href=\\"#\\" onclick=\\"new Ajax.Updater(\''register\'', > \''/admin/destroy/21\'', {asynchronous:true, evalScripts:true}); return > false;\\"><img alt=\\"Destroy\\" border=\\"0\\" > src=\\"/images/destroy.png?1142214730\\" /></a></td>\n</tr>\n\n\n<tr > class = debit > id=\\"5\\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td > class=\\"amount\\">$20.00</td>\t\t\n\t<td > class=\\"divvy\\">$-10.00</td>\n\n\t<td > class=\\"runningbalance_debit\\">$-20.00</td>\n\t\t\n\t\t > \n\t\t\n\t\t<td><a href=\\"#\\" onclick=\\"new > Ajax.Request(\''/admin/edit/5\'', {asynchronous:true, evalScripts:true}); > return false;\\"><img alt=\\"Edit\\" border=\\"0\\" > src=\\"/images/edit.png?1142214964\\" /></a></td>\n\t\t\n\t\t<td><a > href=\\"#\\" onclick=\\"new Ajax.Updater(\''register\'', > \''/admin/destroy/5\'', {asynchronous:true, evalScripts:true}); return > false;\\"><img alt=\\"Destroy\\" border=\\"0\\" > src=\\"/images/destroy.png?1142214730\\" /></a></td>\n</tr>\n\n\n<tr > class = debit > id=\\"14\\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td > class=\\"amount\\">$10.00</td>\t\t\n\t<td > class=\\"divvy\\">$-5.00</td>\n\n\t<td > class=\\"runningbalance_debit\\">$-10.00</td>\n\t\t\n\t\t > \n\t\t\n\t\t<td><a href=\\"#\\" onclick=\\"new > Ajax.Request(\''/admin/edit/14\'', {asynchronous:true, > evalScripts:true}); return false;\\"><img alt=\\"Edit\\" border=\\"0\\" > src=\\"/images/edit.png?1142214964\\" /></a></td>\n\t\t\n\t\t<td><a > href=\\"#\\" onclick=\\"new Ajax.Updater(\''register\'', > \''/admin/destroy/14\'', {asynchronous:true, evalScripts:true}); return > false;\\"><img alt=\\"Destroy\\" border=\\"0\\" > src=\\"/images/destroy.png?1142214730\\" /></a></td>\n</tr>\n\n\n<tr > id> \\"26\\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>chris</td>\n\t<td > class=\\"amount\\">$20.00</td>\t\t\n\t<td > class=\\"divvy\\">$10.00</td>\n\n\t<td > class=\\"runningbalance_debit\\">$-5.00</td>\n\t\t\n\t\t > \n\t\t\n\t\t<td><a href=\\"#\\" onclick=\\"new > Ajax.Request(\''/admin/edit/26\'', {asynchronous:true, > evalScripts:true}); return false;\\"><img alt=\\"Edit\\" border=\\"0\\" > src=\\"/images/edit.png?1142214964\\" /></a></td>\n\t\t\n\t\t<td><a > href=\\"#\\" onclick=\\"new Ajax.Updater(\''register\'', > \''/admin/destroy/26\'', {asynchronous:true, evalScripts:true}); return > false;\\"><img alt=\\"Destroy\\" border=\\"0\\" > src=\\"/images/destroy.png?1142214730\\" /></a></td>\n</tr>\n\n\n<tr > class = debit > id=\\"27\\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td > class=\\"amount\\">$10.00</td>\t\t\n\t<td > class=\\"divvy\\">$-5.00</td>\n\n\t<td > class=\\"runningbalance_debit\\">$-15.00</td>\n\t\t\n\t\t > \n\t\t\n\t\t<td><a href=\\"#\\" onclick=\\"new > Ajax.Request(\''/admin/edit/27\'', {asynchronous:true, > evalScripts:true}); return false;\\"><img alt=\\"Edit\\" border=\\"0\\" > src=\\"/images/edit.png?1142214964\\" /></a></td>\n\t\t\n\t\t<td><a > href=\\"#\\" onclick=\\"new Ajax.Updater(\''register\'', > \''/admin/destroy/27\'', {asynchronous:true, evalScripts:true}); return > false;\\"><img alt=\\"Destroy\\" border=\\"0\\" > src=\\"/images/destroy.png?1142214730\\" /></a></td>\n</tr>\n\n\n<tr > class = debit > id=\\"32\\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td > class=\\"amount\\">$10.00</td>\t\t\n\t<td > class=\\"divvy\\">$-5.00</td>\n\n\t<td > class=\\"runningbalance_debit\\">$-10.00</td>\n\t\t\n\t\t > \n\t\t\n\t\t<td><a href=\\"#\\" onclick=\\"new > Ajax.Request(\''/admin/edit/32\'', {asynchronous:true, > evalScripts:true}); return false;\\"><img alt=\\"Edit\\" border=\\"0\\" > src=\\"/images/edit.png?1142214964\\" /></a></td>\n\t\t\n\t\t<td><a > href=\\"#\\" onclick=\\"new Ajax.Updater(\''register\'', > \''/admin/destroy/32\'', {asynchronous:true, evalScripts:true}); return > false;\\"><img alt=\\"Destroy\\" border=\\"0\\" > src=\\"/images/destroy.png?1142214730\\" /></a></td>\n</tr>\n\n\n<tr > class = debit > id=\\"20\\">\n\n\t<td>11/12/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td > class=\\"amount\\">$10.00</td>\t\t\n\t<td > class=\\"divvy\\">$-5.00</td>\n\n\t<td > class=\\"runningbalance_debit\\">$-5.00</td>\n\t\t\n\t\t > \n\t\t\n\t\t<td><a href=\\"#\\" onclick=\\"new > Ajax.Request(\''/admin/edit/20\'', {asynchronous:true, > evalScripts:true}); return false;\\"><img alt=\\"Edit\\" border=\\"0\\" > src=\\"/images/edit.png?1142214964\\" /></a></td>\n\t\t\n\t\t<td><a > href=\\"#\\" onclick=\\"new Ajax.Updater(\''register\'', > \''/admin/destroy/20\'', {asynchronous:true, evalScripts:true}); return > false;\\"><img alt=\\"Destroy\\" border=\\"0\\" > src=\\"/images/destroy.png?1142214730\\" /></a></td>\n</tr>\n\n\n\n<tr > class =\\"debit\\" > id=\\"balance_fwd\\">\n\t<td>11/1/2006</td>\n\t<td></td>\n\t<td>Balance > Forward</td>\n\t<td></td>\n\t<td class=\\"amount\\"></td>\t\t\n\t<td > class=\\"divvy\\"></td>\n\t<td > class=\\"runningbalance_debit\\">$-10.00</td>\n</tr>\n\n\t\t</tbody>\n</table>\n\n</div>\n</div>\n\n\");\nElement.update(\"nav\", > \"<dt id=\\"logo\\">divvy</dt>\n\t \n\t\t<dd id=\\"t-logout\\">\n\t\t<a > href=\\"/login/logout\\">Log out</a>\n\t</dd>\n\t\t\n\t<dd > id=\\"t-profile\\">\n\t\t<a href=\\"#\\" onclick=\\"new > Ajax.Request(\''/login/edit_user\'', {asynchronous:true, > evalScripts:true}); return false;\\">Profile</a>\n\t</dd>\n\t<dd > id=\\"selected\\">\n\t\t<a href=\\"#\\" onclick=\\"new > Ajax.Request(\''/admin/this_month\'', {asynchronous:true, > evalScripts:true}); return false;\\">This Month</a>\n\t</dd>\n\t\");''); > throw e } > > Any suggestions would be greatly appreciated.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
For what it''s worth, I find that it''s too easy to screw this
up. I''ve
just been bitten (yet again) and all of my rjs/javascript is spewing
onto the page. simply by confusing when to use :url in a link_to caused
it:
<%= link_to "Print Packing Slip", :url => {:controller =>
@controller_name, :action => ''print''},
:popup => [''new_window'',
''menubar,resizable=true''] %> ||
should be
<%= link_to "Print Packing Slip", {:controller =>
@controller_name,
:action => ''print''},
:popup => [''new_window'',
''menubar,resizable=true''] %> ||
So, Josh, good luck. I''ll send more random thoughts about this problem
as they come to me.Hope it helps!
Dave
On Nov 20, 6:37 am, "Archer"
<dfdumar...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:> Hi Josh,
> Does your default layout contain the declaration to prototype.js?
> You should have
> <%= javascript_include_tag :defaults %>
> somewhere in the head of your index rhtml. One common place to put it
> is in application.rhtml.
>
> regards,
> Dave
>
> On Nov 19, 10:12 am, "josh"
<weinstein.j...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>
> > I''m working with two controllers- login and admin. When the
login
> > action in the login controller has worked out successfully, it
> > redirects to an index.rjs template in the admin controller. The
> > problem is that this rjs template doesn''t get interpreted, so
I''m left
> > with a screenful of javascript.
>
> > Here''s the login action:
>
> > def login
> > if request.get?
> > session[:user_id] = nil
> > @user = User.new
> > else
> > @user = User.new(params[:user])
> > logged_in_user = @user.try_to_login
> > if logged_in_user
> > session[:user_id] = logged_in_user.id
> > session[:user_name] = logged_in_user.name
> > session[:user_roommate] = logged_in_user.roommate
> > jumpto = session[:jumpto] || {:controller =>
"admin", :action
> > =>"index"}
> > session[:jumpto] = nil
> > redirect_to(jumpto)
> > else
> > flash[:notice] = "Invalid user/password combination"
> > end
> > end
> > end
>
> > ... and here''s the index.rjs that it redirects to:
>
> > page.replace_html ''content'', :partial =>
''list''
> > page.replace_html ''nav'', :partial =>
''nav_this_month''
>
> > ... and here''s what ends up on my screen:
> > try {
> > Element.update("content", "<div
id=\"payments\">\n<div
> > id=\"form\">\n\t<form
action=\"/admin/create/23\" method=\"post\"
> > onsubmit=\"new Ajax.Request(''/admin/create/23'',
{asynchronous:true,
> > evalScripts:true, parameters:Form.serialize(this)}); return
> > false;\">\n<table>\n\n<tr
id=\"form_row\">\t\n\t<th
> > class=\"date\"><input id=\"payment_date\"
name=\"payment[date]\"
> > order=\"monthdayyear\" size=\"9\"
type=\"text\"
> > use_month_numbers=\"true\" value=\"11/19/2006\"
/></th>\n\t<th
> > class=\"payee\"><input id=\"payment_payee\"
maxsize=\"15\"
> > name=\"payment[payee]\" size=\"12\"
type=\"text\" value=\"payee\"
> > /></th>\n \t<th class=\"note\"><input
id=\"payment_note\"
> > maxsize=\"17\" name=\"payment[note]\"
size=\"17\" type=\"text\"
> > value=\"note\" /></th>\n\t<th
class=\"payer\"><select
> > id=\"payment_payer\"
name=\"payment[payer]\"><option
> > value=\"chris\">chris</option>\n<option
value=\"josh\"
> >
selected=\"selected\">josh</option></select></th>\n\t<th
> > class=\"amount\"><input id=\"form_amount\"
maxsize=\"8\"
> > name=\"payment[amount]\" size=\"7\"
type=\"text\" value=\"0.00\"
> > /></th>\n\t<th class=\"divvy\"
id=\"form_submit\"><input
> > name=\"commit\" type=\"submit\"
value=\"divvy!\"
> >
/></th>\n</tr>\n</form>\n</table>\n</div>\n\n<table>\n\t<tr
> > id=\"register_header\">\n\t\t<th
class=\"date\"><a href=\"#\"
> > onclick=\"new
Ajax.Request(''/admin/previous_month'', {asynchronous:true,
> > evalScripts:true}); return
> >
false;\"><<</a>\n\t\t\t\t\t\tdate\n\t\t\t\t\t\t<a
href=\"#\"
> > onclick=\"new Ajax.Request(''/admin/next_month'',
{asynchronous:true,
> > evalScripts:true}); return
false;\">>></a>\n\t\t\t\t\t\t</th>\n\t\t<th
> > class=\"payee\">payee</th><th
class=\"note\">note</th><th
> > class=\"payer\">payer</th><th
class=\"amount\"
> > id=\"register_header_amount\">amount</th><th
class=\"divvy\"
> > id=\"register_header_divvy\">divvy</th><th
> >
id=\"register_header_runningbalance\">balance</th><th><th></tr>\n\t\t<tbody
> > id=\"register\">\n\t\t\n\n<tr class = debit
> >
id=\"21\">\n\n\t<td>11/16/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
> > class=\"amount\">$10.00</td>\t\t\n\t<td
> > class=\"divvy\">$-5.00</td>\n\n\t<td
> >
class=\"runningbalance_debit\">$-25.00</td>\n\t\t\n\t\t
> > \n\t\t\n\t\t<td><a href=\"#\" onclick=\"new
> > Ajax.Request(''/admin/edit/21'', {asynchronous:true,
evalScripts:true});
> > return false;\"><img alt=\"Edit\"
border=\"0\"
> > src=\"/images/edit.png?1142214964\"
/></a></td>\n\t\t\n\t\t<td><a
> > href=\"#\" onclick=\"new
Ajax.Updater(''register'',
''/admin/destroy/21'',
> > {asynchronous:true, evalScripts:true}); return
false;\"><img
> > alt=\"Destroy\" border=\"0\"
src=\"/images/destroy.png?1142214730\"
> > /></a></td>\n</tr>\n\n\n<tr class = debit
> >
id=\"5\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
> > class=\"amount\">$20.00</td>\t\t\n\t<td
> > class=\"divvy\">$-10.00</td>\n\n\t<td
> >
class=\"runningbalance_debit\">$-20.00</td>\n\t\t\n\t\t
> > \n\t\t\n\t\t<td><a href=\"#\" onclick=\"new
> > Ajax.Request(''/admin/edit/5'', {asynchronous:true,
evalScripts:true});
> > return false;\"><img alt=\"Edit\"
border=\"0\"
> > src=\"/images/edit.png?1142214964\"
/></a></td>\n\t\t\n\t\t<td><a
> > href=\"#\" onclick=\"new
Ajax.Updater(''register'', ''/admin/destroy/5'',
> > {asynchronous:true, evalScripts:true}); return
false;\"><img
> > alt=\"Destroy\" border=\"0\"
src=\"/images/destroy.png?1142214730\"
> > /></a></td>\n</tr>\n\n\n<tr class = debit
> >
id=\"14\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
> > class=\"amount\">$10.00</td>\t\t\n\t<td
> > class=\"divvy\">$-5.00</td>\n\n\t<td
> >
class=\"runningbalance_debit\">$-10.00</td>\n\t\t\n\t\t
> > \n\t\t\n\t\t<td><a href=\"#\" onclick=\"new
> > Ajax.Request(''/admin/edit/14'', {asynchronous:true,
evalScripts:true});
> > return false;\"><img alt=\"Edit\"
border=\"0\"
> > src=\"/images/edit.png?1142214964\"
/></a></td>\n\t\t\n\t\t<td><a
> > href=\"#\" onclick=\"new
Ajax.Updater(''register'',
''/admin/destroy/14'',
> > {asynchronous:true, evalScripts:true}); return
false;\"><img
> > alt=\"Destroy\" border=\"0\"
src=\"/images/destroy.png?1142214730\"
> > /></a></td>\n</tr>\n\n\n<tr id> >
\"26\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>chris</td>\n\t<td
> > class=\"amount\">$20.00</td>\t\t\n\t<td
> > class=\"divvy\">$10.00</td>\n\n\t<td
> >
class=\"runningbalance_debit\">$-5.00</td>\n\t\t\n\t\t
> > \n\t\t\n\t\t<td><a href=\"#\" onclick=\"new
> > Ajax.Request(''/admin/edit/26'', {asynchronous:true,
evalScripts:true});
> > return false;\"><img alt=\"Edit\"
border=\"0\"
> > src=\"/images/edit.png?1142214964\"
/></a></td>\n\t\t\n\t\t<td><a
> > href=\"#\" onclick=\"new
Ajax.Updater(''register'',
''/admin/destroy/26'',
> > {asynchronous:true, evalScripts:true}); return
false;\"><img
> > alt=\"Destroy\" border=\"0\"
src=\"/images/destroy.png?1142214730\"
> > /></a></td>\n</tr>\n\n\n<tr class = debit
> >
id=\"27\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
> > class=\"amount\">$10.00</td>\t\t\n\t<td
> > class=\"divvy\">$-5.00</td>\n\n\t<td
> >
class=\"runningbalance_debit\">$-15.00</td>\n\t\t\n\t\t
> > \n\t\t\n\t\t<td><a href=\"#\" onclick=\"new
> > Ajax.Request(''/admin/edit/27'', {asynchronous:true,
evalScripts:true});
> > return false;\"><img alt=\"Edit\"
border=\"0\"
> > src=\"/images/edit.png?1142214964\"
/></a></td>\n\t\t\n\t\t<td><a
> > href=\"#\" onclick=\"new
Ajax.Updater(''register'',
''/admin/destroy/27'',
> > {asynchronous:true, evalScripts:true}); return
false;\"><img
> > alt=\"Destroy\" border=\"0\"
src=\"/images/destroy.png?1142214730\"
> > /></a></td>\n</tr>\n\n\n<tr class = debit
> >
id=\"32\">\n\n\t<td>11/14/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
> > class=\"amount\">$10.00</td>\t\t\n\t<td
> > class=\"divvy\">$-5.00</td>\n\n\t<td
> >
class=\"runningbalance_debit\">$-10.00</td>\n\t\t\n\t\t
> > \n\t\t\n\t\t<td><a href=\"#\" onclick=\"new
> > Ajax.Request(''/admin/edit/32'', {asynchronous:true,
evalScripts:true});
> > return false;\"><img alt=\"Edit\"
border=\"0\"
> > src=\"/images/edit.png?1142214964\"
/></a></td>\n\t\t\n\t\t<td><a
> > href=\"#\" onclick=\"new
Ajax.Updater(''register'',
''/admin/destroy/32'',
> > {asynchronous:true, evalScripts:true}); return
false;\"><img
> > alt=\"Destroy\" border=\"0\"
src=\"/images/destroy.png?1142214730\"
> > /></a></td>\n</tr>\n\n\n<tr class = debit
> >
id=\"20\">\n\n\t<td>11/12/2006</td>\n\t<td>payee</td>\n\t<td>note</td>\n\t<td>josh</td>\n\t<td
> > class=\"amount\">$10.00</td>\t\t\n\t<td
> > class=\"divvy\">$-5.00</td>\n\n\t<td
> >
class=\"runningbalance_debit\">$-5.00</td>\n\t\t\n\t\t
> > \n\t\t\n\t\t<td><a href=\"#\" onclick=\"new
> > Ajax.Request(''/admin/edit/20'', {asynchronous:true,
evalScripts:true});
> > return false;\"><img alt=\"Edit\"
border=\"0\"
> > src=\"/images/edit.png?1142214964\"
/></a></td>\n\t\t\n\t\t<td><a
> > href=\"#\" onclick=\"new
Ajax.Updater(''register'',
''/admin/destroy/20'',
> > {asynchronous:true, evalScripts:true}); return
false;\"><img
> > alt=\"Destroy\" border=\"0\"
src=\"/images/destroy.png?1142214730\"
> > /></a></td>\n</tr>\n\n\n\n<tr class
=\"debit\"
> >
id=\"balance_fwd\">\n\t<td>11/1/2006</td>\n\t<td></td>\n\t<td>Balance
> > Forward</td>\n\t<td></td>\n\t<td
class=\"amount\"></td>\t\t\n\t<td
> > class=\"divvy\"></td>\n\t<td
> >
class=\"runningbalance_debit\">$-10.00</td>\n</tr>\n\n\t\t</tbody>\n</table>\n\n</div>\n</div>\n\n");
> > Element.update("nav", "<dt
id=\"logo\">divvy</dt>\n\t \n\t\t<dd
> > id=\"t-logout\">\n\t\t<a
href=\"/login/logout\">Log
> > out</a>\n\t</dd>\n\t\t\n\t<dd
id=\"t-profile\">\n\t\t<a href=\"#\"
> > onclick=\"new Ajax.Request(''/login/edit_user'',
{asynchronous:true,
> > evalScripts:true}); return
false;\">Profile</a>\n\t</dd>\n\t<dd
> > id=\"selected\">\n\t\t<a href=\"#\"
onclick=\"new
> > Ajax.Request(''/admin/this_month'',
{asynchronous:true,
> > evalScripts:true}); return false;\">This
Month</a>\n\t</dd>\n\t");} catch (e) { alert(''RJS
error:\n\n'' +
e.toString());alert(''Element.update(\"content\",
\"<div id=\\"payments\\">\n<div
> > id=\\"form\\">\n\t<form
action=\\"/admin/create/23\\" method=\\"post\\"
> > onsubmit=\\"new
Ajax.Request(\''/admin/create/23\'', {asynchronous:true,
> > evalScripts:true, parameters:Form.serialize(this)}); return
> > false;\\">\n<table>\n\n<tr
id=\\"form_row\\">\t\n\t<th
> > class=\\"date\\"><input
id=\\"payment_date\\" name=\\"payment[date]\\"
> > order=\\"monthdayyear\\" size=\\"9\\"
type=\\"text\\"
> > use_month_numbers=\\"true\\"
value=\\"11/19/2006\\" /></th>\n\t<th
> > class=\\"payee\\"><input
id=\\"payment_payee\\" maxsize=\\"15\\"
> > name=\\"payment[payee]\\" size=\\"12\\"...
>
> read more ยป
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
you redirect_to a new action, which means the browser loads a new page. so why do you want to render a RJS template anyway? RJS templates are only meant for responding to an AJAX request, it sends Javascript back to the brwoser WITHOUT loading a new page, and prototype.js will execute the javascript an replace the corresponding stuff. now, if you redirect to a new page, the browser doesn''t do an AJAX request, but a normal HTTP request, and the javascript it gets served by the server isn''t evaluated. sop are you even doing the login procedure via an AJAX call (form_remote or sth.)? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---