Forum: Ruby on Rails Partial js file with locals

05c3f39db309047f28628a223a757bec?d=identicon&s=25 Hans Marmolin (marmolin)
on 2013-07-28 11:41
(Received via mailing list)
I have a lot of js files like new.js, index.js, create.js etc that
handles
my Ajax calls and other jquery code
As the have many common code snippets I have tried to use partial js
files
For example I have a new.js file that calls a partial _new.js

new.js
<%= render :partial=>'new',  :formats=>[:js],:handlers=>[:erb] %>

_new.js
<% if params[:group_id]%>
    $("#group_participants_content").html("<%=
escape_javascript(render(:partial=>'form'))%>");
    $(".remote_selected").removeClass("selected remote_selected
simple-navigation-active-leaf");
    $("#group_mail").addClass(" remote_selected
simple-navigation-active-leaf");
<%else%>
$("#users_content").html("<%=
escape_javascript(render(:partial=>'form'))%>");
$(".remote_selected").removeClass("selected remote_selected
simple-navigation-active-leaf")
$("#mail").addClass("remote_selected simple-navigation-active-leaf");
<%end%>
// Change our States
History.replaceState({action:'<%=
"#{controller.action_name}/#{controller_name}" %>'}, '<%=
"#{controller.action_name.titleize} #{controller_name}" %>',
'?action=<%=
"#{controller.action_name}/#{controller_name}" %>');
var url=History.getState().url;
$("#help").attr('href',"/helps/0?url="+url)

That works but to be useful I would like to add locals as
<%= render :partial=>'new',  :formats=>[:js],:handlers=>[:erb],
locals=>{id=>"#group_participants_content"}%>
and change _new.js to
  $('"'+id+'"').html("<%=
escape_javascript(render(:partial=>'form'))%>");
However that does not work- The js file seems then not to be loaded at
all

Anyone that has any suggestion of what is wrong ?

Appreciate any help ?
5f94b9b346c2aa648a80bc259978e5bc?d=identicon&s=25 Colin Law (Guest)
on 2013-07-28 11:52
(Received via mailing list)
On 28 July 2013 10:40, Hans <Hans.Marmolin@klockholm.se> wrote:
> ...
>
> That works but to be useful I would like to add locals as
> <%= render :partial=>'new',  :formats=>[:js],:handlers=>[:erb],
> locals=>{id=>"#group_participants_content"}%>

I don't know whether there are any other problems but it should be
:locals and :id I think

Colin
05c3f39db309047f28628a223a757bec?d=identicon&s=25 Hans Marmolin (marmolin)
on 2013-07-28 12:21
(Received via mailing list)
Den sndagen den 28:e juli 2013 kl. 11:40:09 UTC+2 skrev Hans:
05c3f39db309047f28628a223a757bec?d=identicon&s=25 Hans Marmolin (marmolin)
on 2013-07-28 12:23
(Received via mailing list)
Den sndagen den 28:e juli 2013 kl. 11:40:09 UTC+2 skrev Hans:
05c3f39db309047f28628a223a757bec?d=identicon&s=25 Hans Marmolin (marmolin)
on 2013-07-28 12:25
(Received via mailing list)
Den sndagen den 28:e juli 2013 kl. 11:50:55 UTC+2 skrev Colin Law:
05c3f39db309047f28628a223a757bec?d=identicon&s=25 Hans Marmolin (marmolin)
on 2013-07-28 12:29
(Received via mailing list)
Colin
Thanks for your answere, but that was just a typo from me. The code has
:locals and :id

Den sndagen den 28:e juli 2013 kl. 11:50:55 UTC+2 skrev Colin Law:
5f94b9b346c2aa648a80bc259978e5bc?d=identicon&s=25 Colin Law (Guest)
on 2013-07-28 12:57
(Received via mailing list)
On 28 July 2013 11:28, Hans <Hans.Marmolin@klockholm.se> wrote:
> Colin
> Thanks for your answere, but that was just a typo from me. The code has
> :locals and :id

When asking questions it is always a good idea to copy/paste then you
are more likely to get helpful replies.  Perhaps there are different
typos in your code that you have accidentally corrected when you
re-typed it here.

Colin
05c3f39db309047f28628a223a757bec?d=identicon&s=25 Hans Marmolin (marmolin)
on 2013-07-28 14:18
(Received via mailing list)
The problem is now solved
The correct use of locals should be

$("<%=id%>").html("<%= escape_javascript(render(:partial=>'form'))%>");
and not
$('"'+id+'"').html("<%= escape_javascript(render(:

partial=>'form'))%>");

Den sndagen den 28:e juli 2013 kl. 12:56:19 UTC+2 skrev Colin Law:
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.