11155
(-- --)
February 17, 2010, 6:41pm
1
Sir can u guide me in implementation of Ajax calls in Ruby and Rails?
wen i m implementing a new page it gives th following op:
"try {
Element.hide("add_answer_link_for_post_-613772418");
Element.update("new_answer_form_for_post_-613772418", "<form
action=\"/answers\" method=\"post\" onsubmit=\"new
Ajax.Request('/answers', {asynchronous:true, evalScripts:true,
parameters:Form.serialize(this)}); return false;\">\n<fieldset>\n
<legend>New Answer</legend>\n <textarea cols=\"40\"
id=\"answer_ans_string\" name=\"answer[ans_string]\"
rows=\"10\"></textarea>\n <input name=\"commit\" type=\"submit\"
value=\"Create\" />\n</fieldset>\n</form>\n\n");
} catch (e) { alert('RJS error:\n\n' + e.toString());
alert('Element.hide(\"add_answer_link_for_post_-613772418\");\nElement.update(\"new_answer_form_for_post_-613772418\",
\"<form action=\\\"/answers\\\" method=\\\"post\\\" onsubmit=\\\"new
Ajax.Request(\'/answers\', {asynchronous:true, evalScripts:true,
parameters:Form.serialize(this)}); return false;\\\">\\n<fieldset>\\n
<legend>New Answer</legend>\\n <textarea cols=\\\"40\\\"
id=\\\"answer_ans_string\\\" name=\\\"answer[ans_string]\\\"
rows=\\\"10\\\"></textarea>\\n <input name=\\\"commit\\\"
type=\\\"submit\\\" value=\\\"Create\\\"
/>\\n</fieldset>\\n</form>\\n\\n\");'); throw e }"
I want to eliminate this problem wen i m implementing ajax requests..
Please help..
ALso m unable to understand the follwing code:
<div id="comments_for_post_<%= post.id %>">
<%= render :partial => "comments/comment", :collection =>
post.comments %>
</div>
<% if logged_in? %>
<div id="add_comment_link_for_post_<%= post.id %>">
<%= link_to_remote "Add a comment",
:url => new_comment_path(post.blog, post),
:method => :get %>
</div>
<div id="new_comment_form_for_post_<%= post.id %>">
</div>
<% end %>
</div>
def new
@comment = Comment.new
respond_to do |format|
format.js do
render :update do |page|
page.hide "add_comment_link_for_post_#{@post.id }"
page.replace_html "new_comment_form_for_post_#{@post.id }",
:partial => "new"
end
end
end
end
please can anyone guide me wat does
"add_comment_ink_for_post_#{@post.id }" do???
11155
(-- --)
February 18, 2010, 3:52pm
2
Hi Manish Belsare
<% if logged_in? %>
<div id="add_comment_link_for_post_<%= post.id %>">
<%= link_to_remote "Add a comment",
:url => new_comment_path(post.blog, post),
:method => :get %>
</div>
please can anyone guide me wat does
"add_comment_ink_for_post_#{@post.id }" do???
From your view code add_comment_ink_for_post_#{@post.id } is some div
For example of @post.id=2 Then that div will be
add_comment_ink_for_post_2
page.hide "add_comment_link_for_post_#{@post.id }"
What this does is hide a div element As an example it hides the div
add_comment_ink_for_post_2
Sijo
11155
(-- --)
February 18, 2010, 5:04pm
3
Sir,
Can u please help me in the problem that is present at the top??
I dont know why ruby isnt supporting AJAX calls???
wat should i do 2 eliminate the problem...It is urgent...!
Please help..
Colin_Law1
(Colin Law)
February 18, 2010, 5:17pm
4
You say that you get this when you have implemented a new page, but
you have not shown the code of your page. It is therefore difficult
for anyone to suggest what is wrong.
Colin
11155
(-- --)
February 18, 2010, 6:56pm
5
def new
@answer = Answer.new
respond_to do |format|
format.js do
render :update do |page|
page.hide "add_answer_link_for_post_#{@post.id }"
page.replace_html "new_answer_form_for_post_#{@post.id }",
:partial => "new"
end
end
end
end
_new.html.erb:
<% remote_form_for(:answer, :url => answers_path) do |form| %>
<fieldset>
<legend>New Answer</legend>
<%= form.text_area :body, :rows => 10, :cols => 40 %>
<%= submit_tag "Create" %>
</fieldset>
<% end %>
def create
@answer = Answer.new(params[:answer])
@answer.user = User.find(session[:user_id])
@answer.post = @post
respond_to do |format|
if @answer.duplicate ? or @post.answers << @answer
format.js do
render :update do |page|
page.replace_html "answers_for_post_#{@post.id }",
:partial => "answers/answer",
:collection => @post.answers
page.show "add_answer_link_for_post_#{@post.id }"
page.hide "new_answer_form_for_post_#{@post.id }"
end
end
else
format.js { render :nothing => true }
end
end
end
_answer.html.erb
<div id="answer_<%= answer.id %>" class="answer">
<hr noshade />
<% if logged_in? and answer.authorized?(User.find(session[:user_id]))
%>
<span class="edit_link" style="float: right">
<%= link_to_remote "(delete)",
:url => answer_path(answer.post.blog, answer.post, answer),
:method => :delete,
:confirm => 'Are you sure?' %>
</span>
<% end %>
ABove is the code that uses Ajax but fails wen run..y?