2009-08-22 11 views
0

Ich versuche, einen partiellen onclick zu speichern, um beim Laden der Seite zu sparen.Rendering Partial onclick in Rails

<ul id="pop_twitter"> 
    <% @topic_count.each do |k,v| %> 
    <% @k = k %> 
    <!-- make a link that onclick renders a partial below --> 
    <li><% link_to_remote k, ?????? %></li> 
     <ul id="twitter_<%= k %>" style="display:none;"> 
     <!-- where the partial should load --> 
     </ul> 
    <% end %> 
</ul> 

Ich brauche den Teil ‚t_tweets‘ zu laden, und es muß auch die Variable ‚k‘ in der .each Schleife.

Antwort

2

hier ist eine grobe Start:

link_to_remote("Show", :url => {:action => 'show_tweets', :k => k}) 

EDIT: Ich denke, da Sie nur einen Teil zeigt, wäre es sinnvoll, auch :method => :get passieren, da link_to_remote standardmäßig auf: Post.

und in Ihrem Controller

def show_tweets 
    render :update do |page| 
    page.insert_html :bottom, 'pop_twitter', :partial => 't_tweets', :locals => params[:k] 
    page["tweet_#{params[:k]}"].visual_effect :highlight #using scriptaculous 
end 

und Ihr Teil

<div id="<%= "tweet_#{k}" %>"> 
    <%= tweet.body %> 
</div> 
+0

Vergessen Sie die Route/Ressourcen nicht hinzufügen, aktualisieren. Andernfalls kann die Anfrage niemals den Controller erreichen. – EmFi