Rails 3, Jquery.load без макета - PullRequest
       2

Rails 3, Jquery.load без макета

0 голосов
/ 30 сентября 2011

Мой Ajax-вызов почти работает, но я не могу понять, почему мой макет по-прежнему отображается?вот контекст:

У меня есть страница контактов на моем сайте, которая использует API в LinkIn.Я хочу загрузить информацию LinkedIn из вызова ajax, когда моя страница загружена.Это прекрасно работает.

Но результат моего .load () отображается с макетом моего сайта.Я только хочу сделать HTML в моем ajax_contact.html.erb ..

contact.js

 $(document).ready(function() {

   $(".info_perso").load( '/contact/ajax_contact', {name:"benoit"}, function(data){  $(".info_perso").html( data );})

 });

ajax_contact.html.erb:

<%if !@profile.nil?%>

                <%=image_tag(@profile.picture_url)%><br />
                <%=@profile.first_name %> <%=@profile.last_name %><br>
                <%=@profile.headline%><br> 
                <%=@profile.industry%><br> <br />
                <%=@profile.summary%><br> 


                <label class="linkedin_title">Education</label><br>
                <% @profile.educations.all.each {|edu| %>

                    Degre : <%=edu.degree%><br>         
                    Années : <%=edu.start_date.year%> - <%=edu.end_date.year%><br>                      
                    Concentration : <%=edu.field_of_study%><br>         
                    Universite : <%=edu.school_name%><br>           
                <%}%>
                <label class="linkedin_title">Experience</label><br>
                <% @profile.positions.all.each {|pos| %>
                    <label class="linkedin_subtitle"> Company:</label> <%=pos.company.name%><br><br>                            
                    <label class="linkedin_subtitle">Titre :</label> <%=pos.title%><br>         
                    <label class="linkedin_subtitle">Années :</label> <%=pos.start_date.month%>/<%=pos.start_date.year%> - <%=  pos.end_date? ? pos.end_date.month.to_s + "/" + pos.end_date.year.to_s : "now"%><br>                        
                    <label class="linkedin_subtitle">Description :</label> <%=pos.summary%><br/><br/>           
                <%}%>

            <%else%>
                <%=link_to "Activer linkedIn", :controller=>"linkedinAuth", :action=>"benoit", :name=>"benoit", :callback=>"/linkedinauth/callbackbenoit"%>
            <%end%>             

contact_controller.rb:

  def ajax_contact
name = params[:name]
linkedinInfo = LinkedinApiInfo.find(1)
linkedinCred = LinkedinCredential.find_by_name(name)
if !linkedinCred.nil?
  client = LinkedIn::Client.new(linkedinInfo.apiKey, linkedinInfo.secretKey)
  client.authorize_from_access(linkedinCred.acctoken, linkedinCred.accsecret)
  # Pick some fields
  fields = ['first-name', 'last-name', 'headline', 'industry', 'num-connections','educations', 'num-recommenders','recommendations-received', 'summary', 'positions','picture-url']

  @profile = client.profile :fields => fields
  @profile.recommendations_received.all.each {|rec| puts rec.recommendation_text}


  puts @profile

end
 rescue SocketError
  puts "Unable to connect"

  render "ajax_content", :content_type=>"text/html", :layout=>false

   end

Даже если: layout => false, мой макет все еще отображается !!!Кто-нибудь может увидеть проблему?

1 Ответ

0 голосов
/ 30 сентября 2011

добавить

рендер 'ajax_contact',: layout => false

к вашему действию, в конце также имя частичного представления должно начинаться с _, поэтому ваше представление должно называться '_ajax_contact'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...