diff --git a/app/presenters/post_presenter.rb b/app/presenters/post_presenter.rb index 89d580998..5dabf92c6 100644 --- a/app/presenters/post_presenter.rb +++ b/app/presenters/post_presenter.rb @@ -27,20 +27,17 @@ class PostPresenter < Presenter "class" => preview_class(post, options).join(" ") }.merge(data_attributes(post)) - # TODO: rename path_prefix to controller - locals[:link_params] = { - "controller" => options[:path_prefix] || "posts", - "action" => "show", - "id" => post.id - } + locals[:link_target] = options[:link_target] || post + + locals[:link_params] = {} if options[:tags].present? && !CurrentUser.is_anonymous? locals[:link_params]["q"] = options[:tags] end - if options[:pool_id] || options[:pool] - locals[:link_params]["pool_id"] = options[:pool_id] || options[:pool].id + if options[:pool_id] + locals[:link_params]["pool_id"] = options[:pool_id] end - if options[:favgroup_id] || options[:favgroup] - locals[:link_params]["favgroup_id"] = options[:favgroup_id] || options[:favgroup].id + if options[:favgroup_id] + locals[:link_params]["favgroup_id"] = options[:favgroup_id] end locals[:tooltip] = "#{post.tag_string} rating:#{post.rating} score:#{post.score}" diff --git a/app/presenters/post_set_presenters/pool_gallery.rb b/app/presenters/post_set_presenters/pool_gallery.rb index 0123a754f..52fca8457 100644 --- a/app/presenters/post_set_presenters/pool_gallery.rb +++ b/app/presenters/post_set_presenters/pool_gallery.rb @@ -7,7 +7,7 @@ module PostSetPresenters @post_set = post_set end - def post_previews_html(template, options = {}) + def post_previews_html(template) html = "" if pools.empty? @@ -17,7 +17,7 @@ module PostSetPresenters pools.each do |pool| if pool.cover_post_id post = ::Post.find(pool.cover_post_id) - html << PostPresenter.preview(post, options.merge(:tags => @post_set.tag_string, :raw => @post_set.raw, :pool => pool, :show_deleted => true)) + html << PostPresenter.preview(post, link_target: pool, pool: pool, show_deleted: true) html << "\n" end end diff --git a/app/views/posts/partials/index/_preview.html.erb b/app/views/posts/partials/index/_preview.html.erb index 0d51864b1..9dda428ff 100644 --- a/app/views/posts/partials/index/_preview.html.erb +++ b/app/views/posts/partials/index/_preview.html.erb @@ -1,5 +1,5 @@ <%= content_tag(:article, article_attrs) do -%> - <%= content_tag(:a, href: url_for(link_params)) do -%> + <%= link_to polymorphic_path(link_target, link_params) do -%> <%= content_tag(:picture) do -%> <%= tag.source media: "(max-width: 660px)", srcset: cropped_url -%> <%= tag.source media: "(min-width: 660px)", srcset: preview_url -%>