当用户点击名为display
的按钮时,我正试图获取活动
控制器:
def display
@activities = Activity.all
@activities = Activity.order("created_at desc")
#we will need to find the Post id Through Users relation to the Comments
#And this is because Activity Track, tracks Users actions, it breaks down from there.
@posts = Post.all
@user_comments = UserComment.all
respond_to do |format|
format.js { @activities = Activity.order("created_at desc") }
end
查看:
<%= link_to "Display", activities_path, :remote => true %>
<div id="notify" class="section-link">
</div>
display.js.erb
$('#notify').append("<%= escape_javascript(render :partial => 'layouts/activity') %>");
_activity.html.erb
<% @activities.each do |activity| %>
<%= ActivityPresenter.new(activity, self).render_activity %>
<% end %>
答案 0 :(得分:1)
在display.js.erb:
中试试
$('#notify').append('<%= escape_javascript(render :partial => 'layouts/activity', :collection => @activities) %>');
然后,在_activity.html.erb中尝试:
<%= ActivityPresenter.new(activity, self).render_activity %>
要确保每当用户点击“显示”时调用display
操作,您将需要调整您的routes.rb文件,该文件位于config目录中。您可以执行以下操作: routes.rb中:
get '/activities/display', 'activities#display', as: :activity_display
在routes.rb中进行更改后,您可以像这样编辑link_to
:
<%= link_to "Display", activity_display_path, :remote => true %>