# Assert\_select\_rjs cant find RJS result (via Element.update) with page.replace\_html

**URL:** <https://www.ruby-forum.com/t/assert-select-rjs-cant-find-rjs-result-via-element-update-with-page-replace-html/140458>\
**Category:** Rails\
**Created:** [June 14, 2008, 11:17am UTC](https://www.ruby-forum.com/t/assert-select-rjs-cant-find-rjs-result-via-element-update-with-page-replace-html/140458 "2008-06-14T11:17:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![goodwill](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/ac8455/32.png) [@goodwill](https://www.ruby-forum.com/u/goodwill)\
**Post date:** [June 14, 2008, 11:17am UTC](https://www.ruby-forum.com/t/assert-select-rjs-cant-find-rjs-result-via-element-update-with-page-replace-html/140458/1 "2008-06-14T11:17:48Z")

</div>

I have a RJS with the following code:  
page.replace\_html(“new\_task”, :partial=\>‘task\_edit’)  
page.show(“new\_task”)  
page.hide(“new\_task\_link”)

Then I try to do a functional test assertion with:  
assert\_select\_rjs :task\_has\_due\_date

which fails and return:  
No RJS statement that replaces or inserts HTML content

I am using Rails 2.0.2, any idea?

---

<div class="post-metadata">

**Author:** ![goodwill](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/ac8455/32.png) [@goodwill](https://www.ruby-forum.com/u/goodwill)\
**Post date:** [June 14, 2008, 11:23am UTC](https://www.ruby-forum.com/t/assert-select-rjs-cant-find-rjs-result-via-element-update-with-page-replace-html/140458/2 "2008-06-14T11:23:05Z")

</div>

To help everyone understand my problem, here is my @response.body  
dump:

Element.update(“new\_task”, “\u003Ctr id=“task”\u003E\n \u003Ctd  
colspan=“5”\u003E\n \u003Cform action=”/tasks" class=“new\_task”  
id=“new\_task” method=“post” onsubmit=“new Ajax.Request(’/tasks’,  
{asynchronous:true, evalScripts:true,  
parameters:Form.serialize(this)}); return false;”\u003E\n  
\u003Cfieldset\u003E\n \u003Clegend\u003EPlease enter task details  
\u003C/legend\u003E\n \u003Cp\u003E\n \u003Clabel for="task\_priority  
"\u003EPriority\u003C/label\u003E\n \u003Cselect id="task\_priority  
" name=“task[priority]”\u003E\u003Coption value=“0”\u003EHigh  
\u003C/option\u003E\n\u003Coption value=“1” selected="selected  
"\u003ENormal\u003C/option\u003E\n\u003Coption value=“2”\u003ELow  
\u003C/option\u003E\u003C/select\u003E\n \u003C/p\u003E\n \u003Cp  
\u003E\n \u003Cinput id=“task\_is\_complete” name="task[is\_complete]  
" type=“checkbox” value=“1” /\u003E\u003Cinput name=  
“task[is\_complete]” type=“hidden” value=“0” /\u003E\n  
\u003Clabel for=“task\_is\_complete”\u003ECompleted?\u003C/label\u003E  
\n \u003C/p\u003E\n \u003Cp\u003E\n \u003Clabel for=“task\_name  
“\u003ETitle\u003C/label\u003E\n \u003Cinput id=“task\_name” name=  
“task[name]” size=“30” type=“text” /\u003E\n \u003C/p\u003E\n  
\u003Cp\u003E\n \u003Cinput id=“task\_has\_due\_date” name=  
“task[has\_due\_date]” onclick=“Element.toggle(‘task\_due\_date’)”  
type=“checkbox” value=“1” /\u003E\u003Cinput name=  
“task[has\_due\_date]” type=“hidden” value=“0” /\u003E\n  
\u003Clabel for=“task\_has\_due\_date”\u003EDue Date?\u003C/label\u003E  
\n \u003C/p\u003E\n \u003Cp id=“task\_due\_date”\u003E\n  
\u003Cselect id=“task\_due\_date\_1i” name=“task[due\_date(1i)]”\u003E  
\n\u003Coption value=“2003”\u003E2003\u003C/option\u003E\n  
\u003Coption value=“2004”\u003E2004\u003C/option\u003E\n\u003Coption  
value=“2005”\u003E2005\u003C/option\u003E\n\u003Coption value=  
“2006”\u003E2006\u003C/option\u003E\n\u003Coption value=  
“2007”\u003E2007\u003C/option\u003E\n\u003Coption value=“2008”  
selected=“selected”\u003E2008\u003C/option\u003E\n\u003Coption value=  
“2009”\u003E2009\u003C/option\u003E\n\u003Coption value=  
“2010”\u003E2010\u003C/option\u003E\n\u003Coption value=  
“2011”\u003E2011\u003C/option\u003E\n\u003Coption value=  
“2012”\u003E2012\u003C/option\u003E\n\u003Coption value=  
“2013”\u003E2013\u003C/option\u003E\n\u003C/select\u003E\n  
\u003Cselect id=“task\_due\_date\_2i” name=“task[due\_date(2i)]”\u003E  
\n\u003Coption value=“1”\u003EJanuary\u003C/option\u003E\n  
\u003Coption value=“2”\u003EFebruary\u003C/option\u003E\n  
\u003Coption value=“3”\u003EMarch\u003C/option\u003E\n\u003Coption  
value=“4”\u003EApril\u003C/option\u003E\n\u003Coption value=  
“5”\u003EMay\u003C/option\u003E\n\u003Coption value=“6” selected=  
“selected”\u003EJune\u003C/option\u003E\n\u003Coption value=  
“7”\u003EJuly\u003C/option\u003E\n\u003Coption value=  
“8”\u003EAugust\u003C/option\u003E\n\u003Coption value=  
“9”\u003ESeptember\u003C/option\u003E\n\u003Coption value=  
“10”\u003EOctober\u003C/option\u003E\n\u003Coption value=  
“11”\u003ENovember\u003C/option\u003E\n\u003Coption value=  
“12”\u003EDecember\u003C/option\u003E\n\u003C/select\u003E\n  
\u003Cselect id=“task\_due\_date\_3i” name=“task[due\_date(3i)]”\u003E  
\n\u003Coption value=“1”\u003E1\u003C/option\u003E\n\u003Coption  
value=“2”\u003E2\u003C/option\u003E\n\u003Coption value=  
“3”\u003E3\u003C/option\u003E\n\u003Coption value=“4”\u003E4\u003C/  
option\u003E\n\u003Coption value=“5”\u003E5\u003C/option\u003E\n  
\u003Coption value=“6”\u003E6\u003C/option\u003E\n\u003Coption value=  
“7”\u003E7\u003C/option\u003E\n\u003Coption value=“8”\u003E8\u003C/  
option\u003E\n\u003Coption value=“9”\u003E9\u003C/option\u003E\n  
\u003Coption value=“10”\u003E10\u003C/option\u003E\n\u003Coption  
value=“11”\u003E11\u003C/option\u003E\n\u003Coption value=  
“12”\u003E12\u003C/option\u003E\n\u003Coption value=  
“13”\u003E13\u003C/option\u003E\n\u003Coption value=“14” selected=  
“selected”\u003E14\u003C/option\u003E\n\u003Coption value=  
“15”\u003E15\u003C/option\u003E\n\u003Coption value=  
“16”\u003E16\u003C/option\u003E\n\u003Coption value=  
“17”\u003E17\u003C/option\u003E\n\u003Coption value=  
“18”\u003E18\u003C/option\u003E\n\u003Coption value=  
“19”\u003E19\u003C/option\u003E\n\u003Coption value=  
“20”\u003E20\u003C/option\u003E\n\u003Coption value=  
“21”\u003E21\u003C/option\u003E\n\u003Coption value=  
“22”\u003E22\u003C/option\u003E\n\u003Coption value=  
“23”\u003E23\u003C/option\u003E\n\u003Coption value=  
“24”\u003E24\u003C/option\u003E\n\u003Coption value=  
“25”\u003E25\u003C/option\u003E\n\u003Coption value=  
“26”\u003E26\u003C/option\u003E\n\u003Coption value=  
“27”\u003E27\u003C/option\u003E\n\u003Coption value=  
“28”\u003E28\u003C/option\u003E\n\u003Coption value=  
“29”\u003E29\u003C/option\u003E\n\u003Coption value=  
“30”\u003E30\u003C/option\u003E\n\u003Coption value=  
“31”\u003E31\u003C/option\u003E\n\u003C/select\u003E\n\n \u003C/p  
\u003E\n \u003Cinput id=“task\_submit” name=“commit” type=“submit  
" value=“Save” /\u003E\n \u003Ca href=”#” onclick=“new  
Ajax.Request(’/tasks/cancel’, {asynchronous:true, evalScripts:true,  
method:‘get’}); return false;”\u003ECancel\u003C/a\u003E\n \u003C/  
fieldset\u003E\n \u003C/form\u003E\n \n \u003C/td\u003E\n\u003C/tr  
\u003E”);  
Element.show(“new\_task”);  
Element.hide(“new\_task\_link”);

---

<div class="post-metadata">

**Author:** ![goodwill](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/ac8455/32.png) [@goodwill](https://www.ruby-forum.com/u/goodwill)\
**Post date:** [June 14, 2008, 7:45pm UTC](https://www.ruby-forum.com/t/assert-select-rjs-cant-find-rjs-result-via-element-update-with-page-replace-html/140458/3 "2008-06-14T19:45:36Z")

</div>

Solved… I have misunderstand how the id parameter is used, it  
should be the element involved for the rjs operation. I realize the  
issue after drilling source 🙂
