I’m on EdgeRails, and I can’t seem to get .rjs files to be used
automatically. I’ve looked at Cody’s (and others) tutorials, and I
always have to say “.rjs”, even when it’s the only one there!
For example:
def show
format.html { render :action => ‘show.rjs’ } # notice explicit
“.rjs”
end
Instead of:
def show
format.html { render :action => ‘show’ }
end
Got it: You have to put this in a format.js under EdgeRails:
def show @user_role = UserRole.find(params[:id])
respond_to do |format|
format.js { render :action => ‘show’ }
format.html { raise “AJAX only for this action” }
format.xml { render :xml => @user_role.to_xml }
end
end
Nah, nevermind - that fixed the updating problem, but I still have to
say “.rjs”
respond_to do |format|
format.js { render :action => 'show.rjs' }
format.html { raise "AJAX only for this action" }
format.xml { head :ok }
end
Any ideas??
try this:
def show
respond_to do |format|
format.js
format.html { raise “AJAX only for this action” }
format.xml { head :ok }
end
end
Also, make sure you are using link_to_remote, form_remote_tag or some
other Ajax serialization method in the view that launches this method,
otherwise the form is going to set the content type to html instead of
JS.
Can you paste the view thatis calling this method and the show.rjs that
you are using?