Creating a nested comment system in Ruby on Rails

Posted by Jonathan Weyermann on January 16, 2018 at 12:00 AM

Comments

One of the most classic things to build in Ruby on Rails is a blog app. In fact, this site is built with Ruby on Rails. Each blog Post object instance can have multiple Comments attached to it. While this is very simple and functional, comments on blogs often have additional functionality: The ability to respond to a specific comment, and thus create a nested comment structure. Thus I've recently begun exploring how I could add this to my own blog. Here are my results:

class PostsController < ApplicationController
  expose :post, find_by: :slug
  expose(:posts) { Post.public }
  expose(:user) { post.user }
end

This is my PostsController. It uses Decent Exposure to simplify the controller actions. On this controller, there are show and index actions, but they're not explicitly written out because the expose applies to all controller actions. The post uses Friendly Id to show by slug not not by id (for prettier urls), and therefore I've set the post to find_by slug. posts is for the index view, and public is a method in the post model that determines which posts should be shown (in my case, based on a specific date, and whether I've set them to published).


class CommentsController < PostsController

  def create
    comment = post.comments.create(comment_params)

    if comment.valid? && comment.save
      flash[:notice] = 'Comment Added'
      session.delete(:comment)
      redirect_to post_path(post, anchor: 'comment')
    else
      session[:comment] = comment
      flash[:alert] = Array(comment.errors).to_sentence
      redirect_to new_post_comment_path(post, comment_id: params["comment"]["reply_comment"], anchor: 'comment')
    end
  end

  private

  def comment_params
    params.require(:comment).permit(:name, :email, :body, :post_id, :reply_comment)
  end
end

The comments controller inherits from the post controller (the comments are also route nested beneath the posts ). Depending on whether validations pass, I create the comment and display appropriate error messaging.


class Comment < ActiveRecord::Base
  belongs_to :post

  validates_presence_of :name, :body
  validates_email_format_of :email, :message => 'please enter a valid email'

  def sub_comments
    Comment.where(reply_comment: id)
  end
end

The important part of the comment model is sub_comments. We look for the active record attribute reply_comment to find the comments that reply to this comment. This helps us know where to place the comment in the view.

we set the the reply_comment attribute as a hidden attribute inside a _comments.html.erb partial

<div class="comments">
  <h2 class="page-header"><%= post.comments.length %> Comments</h2>
  <%= render partial: 'partials/comment', collection: post.root_comments %>

  <div class="well add-comment">
    <h2 class="page-header"><%= comment_descriptor %></h2>
    <a name="comment"></a>
    <% if flash[:notice] %>
      <div class="alert alert-success"><%= flash[:notice] %></div>
    <% end %>
    <% if flash[:alert] %>
      <div class="alert alert-danger"><%= flash[:alert] %></div>
    <% end %>
    <%= simple_form_for [post, post.comments.build(session[:comment]) ], html: { class: 'form-horizontal', data: { toggle: 'validator' }} do |f| %>
      <%= f.error :base, error_method: :to_sentence %>
      <%= f.hidden_field :reply_comment, value: params[:comment_id] %>
      <%= f.input :name, required: true, input_html: {maxlength: 60 } %>
      <%= f.input :email, error: 'Please specify a valid email', required: true, type: 'email', input_html: { maxlength: 100 } %>
      <%= f.input :body, required: true, label: "Comment", type: 'text', input_html: { rows: '8', maxlength: 3600 } %>
      <%= f.button :submit, "Submit Comment", class: 'btn btn-primary' %>
    <% end %>
  </div>
</div>

the partial is called from a  <%= render 'partials/comments' %> inside the post/show. This partial represents all comments and the reply form. It renders a collection comment partials which represent the individual comments.

here is the comment partial. the comment_id is passed from the current comment when 'reply' is clicked

<div class="comment">
  <div class="row">
    <div class="col-sm-2 col-xs-3">
      <%= image_tag("user.jpg") %>
    </div>
  <div class="col-sm-8 col-xs-7">
    <div class="well">
      <h4><%= comment.name %><span>/<%= comment.created_at.to_time.strftime('%B %e at %l:%M %p') %></span></h4>
        <%= comment.body %>
      </div>
    </div>
    <div class="col-xs-2">
      <%= link_to "Reply", "#{post_path(post.slug,comment_id: comment.id)}#comment" %>
    </div>
  </div>
  <div class="row">
    <div class="col-xs-1">
    </div>
    <div class="col-xs-11">
      <%= render partial: 'partials/comment', collection: comment.sub_comments %>
    </div>
  </div>
</div>

this partial is rendered once for every comment that is added to a post. You'll notice that sub_comments are rendered as a sub-collection of the same comment partial - It can recursively render itself as long as there are comments replying to comments.


Root comments are all comments that don't have don't have a reply comment attached - They are not replying to anyone and are at highest level of the comment structure

class Post < ActiveRecord::Base

  ...

  def root_comments
    comments.where(reply_comment: nil)
  end
end




The result is what's visible in the opening screenshot. 

User

College Paper Writer /February 19 at 10:39 PM

cover letters <a href="http://coverletters.store">cover letter help</a> cover letters <a href=http://coverletters.store>write cover letter</a>
User

Buy Essay.Org /February 19 at 10:39 PM

a good cover letter <a href="http://coverletters.store">cover letters</a> cover letters for employment <a href=http://coverletters.store>relocation cover letter</a>
User

Help My Essay /February 21 at 12:53 PM

cover letters for jobs <a href="http://coverletters.store">a good cover letter</a> make a cover letter <a href=http://coverletters.store>a good cover letter</a>
User

Write Essays Online /February 21 at 12:54 PM

employment cover letter <a href="http://coverletters.store">cover letter for employment</a> application cover letter <a href=http://coverletters.store>cover letters</a>
User

Write Essay /February 23 at 2:05 AM

cover letter for employment <a href="http://coverletters.store">cover letter for employment</a> cover letters <a href=http://coverletters.store>help writing a cover letter</a>
User

Write An Essay /February 23 at 2:30 AM

application cover letter <a href="http://coverletters.store">a good cover letter</a> cover letter help <a href=http://coverletters.store>cover letters</a>
User

Axmeddrymn/March 20 at 7:42 PM

http://dkjshye7s632.com I am usually to blogging and i actually respect your content. The article has really peaks my interest. I'm going to bookmark your site and preserve checking for brand new information.
User

gmxqjg/October 27 at 1:06 PM

<a href=http://canadian-pharmacie.com>viagra 100mg</a> is viagra prescription only uk http://canadian-pharmacie.com
User

urhjmi/October 29 at 11:01 PM

<a href=http://levitranew.com>order generic levitra</a> efectos secundarios viagra cialis levitra http://levitranew.com
User

Loans For Bad Credit /June 14 at 10:50 PM

payday loan direct lender <a href="http://paydayloans.cars">payday loans direct lender</a> payday loan direct lender <a href=http://paydayloans.cars>lender</a>
User

Direct Lender Loans /June 15 at 11:18 PM

loan lenders <a href="http://paydayloans.cars">direct lender payday loans</a> lender <a href=http://paydayloans.cars>money lender</a>
User

Online Loans /June 17 at 12:34 AM

loans for fair credit <a href="http://loansonline.cars">loans online no credit check</a> cash loans fast <a href=http://loansonline.cars>payday installment loan</a>
User

Pay Day Loan /June 17 at 8:41 AM

loan online <a href="http://loansonline.cars">cash advance america scam</a> online loan <a href=http://loansonline.cars>installment loans online</a>
User

Loan Cash /June 17 at 10:00 AM

quick installment loans <a href="http://paydayloans.cars">loans for startups</a> lender <a href=http://paydayloans.cars>direct lender payday loans</a>
User

Spotloan /June 17 at 7:01 PM

24 hour payday loan <a href="http://loansonline.cars">loan online</a> loan online http://loansonline.cars - online loan
User

Speedycash /June 18 at 12:42 PM

loans with no income <a href="http://paydayloans.cars">payday lender</a> direct lender payday loans <a href=http://paydayloans.cars>cash advance payday loans online</a>
User

Quick Loan /June 20 at 12:35 AM

debt consolidation with bad credit <a href="http://paydayloans.cars">loan over the phone</a> payday loan direct lender <a href=http://paydayloans.cars>payday loans direct lender</a>
User

A Payday Loan /June 20 at 2:51 AM

payday loan direct lender <a href="http://paydayloans.cars">loan online instant</a> 300 loan <a href=http://paydayloans.cars>online signature loans no credit check</a>
User

Loans Online /June 22 at 5:44 AM

cash loans today <a href="http://loansonline.cars">online loans</a> online loan <a href=http://loansonline.cars>loan online</a>
User

Bad Credit /June 25 at 1:28 AM

loan lenders <a href="http://paydayloans.cars">ez cash</a> online installment loans direct lenders <a href=http://paydayloans.cars>lender</a>
User

Direct Lender Loans /June 27 at 2:58 AM

loan lenders <a href="http://paydayloans.cars">payday loans direct lender</a> payday loans direct lender <a href=http://paydayloans.cars>advance online</a>
User

Online Lenders /June 27 at 11:54 AM

loan online <a href="http://loansonline.cars">loans zoom</a> cash advance network http://loansonline.cars - cash loans online
User

djgjkfg/November 20 at 7:02 AM

rtht
User

JasonFreni/March 1 at 9:00 PM

cialis trusted tabscialis back pain Cialis 60mg <a href="http://xcialis20mg.com">xcialis20mg.com</a>
User

Payday Loan /October 9 at 12:09 PM

poor credit loans <a href="https://creditloansguaranteedapproval.com">credit loans guaranteed approval</a> best payday loan <a href=https://creditloansguaranteedapproval.com>credit loans guaranteed approval</a>
User

Bad Credit /October 12 at 6:31 AM

money to lend <a href="https://creditloansguaranteedapproval.com">reputable debt consolidation companies</a> credit loans guaranteed approval <a href=https://creditloansguaranteedapproval.com>credit loans guaranteed approval</a>
User

Money Loan /October 12 at 1:42 PM

poor credit loans guaranteed approval <a href="https://creditloansguaranteedapproval.com">loan places near me</a> bad credit short term loans <a href=https://creditloansguaranteedapproval.com>no credit loans</a>
User

Payday Loans /October 16 at 3:33 PM

credit loans guaranteed approval <a href="https://creditloansguaranteedapproval.com/">credit loans guaranteed approval</a> credit direct loans <a href=https://creditloansguaranteedapproval.com/>credit loans guaranteed approval</a>
User

Payday Loan Online /October 16 at 9:53 PM

poor credit loans guaranteed approval <a href="https://creditloansguaranteedapproval.com/">credit loans guaranteed approval</a> credit loans guaranteed approval <a href=https://creditloansguaranteedapproval.com/>credit loans guaranteed approval</a>
User

Direct Lenders /October 19 at 9:51 PM

bad credit loans guaranteed approval <a href="https://creditloansguaranteedapproval.com/">credit loans guaranteed approval</a> credit loans guaranteed approval <a href=https://creditloansguaranteedapproval.com/>payday loans in kansas city mo</a>
User

RalphEligh/October 27 at 8:48 AM

Добрый день! Уважаемая служба поддержки я заполнила заявку ну насколько правильно незнаю, проверьте пожалуйста <a href=http://develop-software.ru>так должно быть?</a>
User

RalphEligh/October 27 at 10:28 AM

Добрый день! Уважаемая служба поддержки я заполнила заявку ну насколько правильно незнаю, проверьте пожалуйста <a href=http://develop-software.ru>Правильно?</a>
User

RalphEligh/October 27 at 4:19 PM

Добрый день! Уважаемая служба поддержки я заполнила заявку ну насколько правильно незнаю, проверьте пожалуйста <a href=http://develop-software.ru>Правильно?</a>
User

RalphEligh/November 3 at 8:16 AM

Добрый день! Уважаемая служба поддержки я заполнила заявку ну насколько правильно незнаю, проверьте пожалуйста <a href=http://develop-software.ru>вот ссылка</a>
User

GerardRop/January 29 at 4:11 PM

cialis without prescription mayavanrosendaal.com cialis without a doctor's prescription cialis without prescription buy cialis without prescription
User

Jospehmaf/January 29 at 11:46 PM

cialis off label uses cialis with free shipping cialis preise schweiz foro cialis generico cheap generic cialis tadalafil buy cialis bali the cheapest cialis generic cialis ranbaxy https://stowe365.com/#Buy-Cialis-20-mg
User

Jospehmaf/January 30 at 8:51 AM

order brand cialis online direct pharmacy usa cialis cialis online netherlands buy cialis no prescription australia brand name cialis canada rxmeds hub order cialis professional online prix cialis chez pharmassie cialis plus https://stowe365.com
User

Jospehmaf/January 30 at 6:29 PM

free refill on cialis cialis sales south africa cialis in der apotheke cialis and reviews sam's wholesale generic cialis purchasing cialis in canada cialis one a day online what is the best cialis to buy online https://stowe365.com/#Buy-Cialis-20-mg
User

Tony/January 30 at 11:49 PM

Hi I have tried sending you a message from your site but I have gotten an auto response saying it was not delivered for some bizarre reason, so here goes again! Please acknowledge receipt. As I mentioned in my earlier message, I would like to contribute one of my guides on crypto-backed loans to your blog. I used to work for a payday loan company in the UK and so I have quite a good knowledge of the financial lending sector. I decided to write this guide because I feel that cryptocurrency will have a major impact on the payday loan industry in the next 5 to 10 years. I have tried to be as detailed as possible so you will find that the guide is fairly lengthy. Perhaps it would be a good idea for you to split it up into several blog posts or do as you see fit. I am terribly sorry but I did not have much time to find royalty free images. One company that I contacted whilst doing research and collecting references for this guide did give me permission to publish on of their banners that I have included in the g-drive folder. The entire guide is saved in a Word document inside my Google drive which you can access via this link https://drive.google.com/drive/folders/1TjO3WVH0tKuzotBh65w8jrJaCUfsjDdP?usp=sharing I hope your readers will enjoy reading my guide. I would be most grateful if you could send me a link to the guide once you have published it! I will endeavour to write a couple more articles as and when I get some more free time: it is hell at work after the festive period. Have a fab day. Regards Tony
User

Jospehmaf/January 31 at 4:59 AM

cialis for sale net cialis soft tabs vs cialis buy cialis online overnight cialis en farmacias bestellen_cialis_generika retail cost of cialis cialis kaufen wien cialis no brasil mastercard https://stowe365.com
User

Jospehmaf/January 31 at 4:45 PM

using cialis when trying to get pregnant is there a generic for cialis cialis generic best price and delivery acquistare cialis online senza ricetta brand cialis pillscheap cialis 36 hour reviews best price cialis canada buy brand cialis no prescription https://stowe365.com
User

Tony/January 14 at 3:50 PM

Hi I have tried sending you a message from your site but I have gotten an auto response saying it was not delivered for some bizarre reason, so here goes again! Please acknowledge receipt. As I mentioned in my earlier message, I would like to contribute one of my guides on crypto-backed loans to your blog. I used to work for a payday loan company in the UK and so I have quite a good knowledge of the financial lending sector. I decided to write this guide because I feel that cryptocurrency will have a major impact on the payday loan industry in the next 5 to 10 years. I have tried to be as detailed as possible so you will find that the guide is fairly lengthy. Perhaps it would be a good idea for you to split it up into several blog posts or do as you see fit. I am terribly sorry but I did not have much time to find royalty free images. One company that I contacted whilst doing research and collecting references for this guide did give me permission to publish on of their banners that I have included in the g-drive folder. The entire guide is saved in a Word document inside my Google drive which you can access via this link https://drive.google.com/drive/folders/1TjO3WVH0tKuzotBh65w8jrJaCUfsjDdP?usp=sharing I hope your readers will enjoy reading my guide. I would be most grateful if you could send me a link to the guide once you have published it! I will endeavour to write a couple more articles as and when I get some more free time: it is hell at work after the festive period. Have a fab day. Regards Tony
User

RalphEligh/January 18 at 5:54 PM

Добрый день! Уважаемая служба поддержки я заполнила заявку ну насколько правильно незнаю, проверьте пожалуйста <a href=http://prommehdetal.ru/>так должно быть?</a>
User

Davidsnisp/February 5 at 10:38 AM

cialis erection pictures cialis pharmacy review <a href="http://kaivanrosendaal.com/">Buy Cheap Cialis</a> buy cialis pattaya generisk cialis danmark <a href=http://kaivanrosendaal.com/>generic cialis tadalafil</a> cialis scam cialis lieferanten http://kaivanrosendaal.com/#discount-cialis
User

DouglasAmumb/February 7 at 3:50 PM

http://sdfgdfsgfdhfgjkur.com/ <a href=http://sdfgdfsgfdhfgjkur.com/#>click here to buy cialis</a> <a href="http://sdfgdfsgfdhfgjkur.com/#">cialis tulsa ok</a>
User

JasonFreni/February 28 at 7:48 PM

non generic cialis in usaonline pharmacy for cialis review Buy Cialis 40mg <a href="http://xcialis20mg.com">Buy Cialis</a>
User

JasonFreni/March 2 at 5:29 PM

donde comprar comprar cialiscanada drug pharmacy cialis Cialis 10mg <a href="http://xcialis20mg.com">http://xcialis20mg.com</a>
User

Jospehmaf/February 1 at 10:27 AM

what to say to get prescribed cialis buy cialis online from usa buy cialis online canada paypal cialis for daily use free trial best canadian pharmacy cialis cialis danger buy cialis atlanta cialis online paypal payment https://stowe365.com
User

Tony/February 1 at 10:56 PM

Hi I have tried sending you a message from your site but I have gotten an auto response saying it was not delivered for some bizarre reason, so here goes again! Please acknowledge receipt. As I mentioned in my earlier message, I would like to contribute one of my guides on crypto-backed loans to your blog. I used to work for a payday loan company in the UK and so I have quite a good knowledge of the financial lending sector. I decided to write this guide because I feel that cryptocurrency will have a major impact on the payday loan industry in the next 5 to 10 years. I have tried to be as detailed as possible so you will find that the guide is fairly lengthy. Perhaps it would be a good idea for you to split it up into several blog posts or do as you see fit. I am terribly sorry but I did not have much time to find royalty free images. One company that I contacted whilst doing research and collecting references for this guide did give me permission to publish on of their banners that I have included in the g-drive folder. The entire guide is saved in a Word document inside my Google drive which you can access via this link https://drive.google.com/drive/folders/1TjO3WVH0tKuzotBh65w8jrJaCUfsjDdP?usp=sharing I hope your readers will enjoy reading my guide. I would be most grateful if you could send me a link to the guide once you have published it! I will endeavour to write a couple more articles as and when I get some more free time: it is hell at work after the festive period. Have a fab day. Regards Tony
User

kamagra shop deutschland/February 2 at 2:50 AM

kamagra 100 mg usa <a href=http://kamagra100mgusa.com/#>kamagra kaufen</a> kamagra online <a href=http://kamagra100mgusa.com/#>kamagra 100mg</a>
User

Davidsnisp/February 2 at 4:16 PM

cialis buy in new jersey como conprar cialis <a href="http://kaivanrosendaal.com">cialis vs viagra</a> cheap cialis international what is better cialis or viag... <a href=http://kaivanrosendaal.com>cialis lowest price</a> chinese cialis reviews generic cialis discover http://kaivanrosendaal.com/#cialis-online
User

Davidsnisp/February 4 at 11:12 AM

cialis bestellen rezeptfrei cialis generika in deutschland kaufen <a href="http://kaivanrosendaal.com/">cialis</a> cialis online niederlande generic cialis pills <a href=http://kaivanrosendaal.com>cialis cost</a> super discount cialis ordercialis by check http://kaivanrosendaal.com/#cialis-dosage
User

Davidsnisp/February 3 at 1:41 AM

buy cialis online in hawaii cialis tablete u bih <a href="http://kaivanrosendaal.com">discount cialis</a> buy cialis super active paypal cialis coupon codes discount <a href=http://kaivanrosendaal.com>Cheap Cialis</a> cialis wirkungsdauer cialis kanada http://kaivanrosendaal.com/#200-cialis-coupon
User

Davidsnisp/February 3 at 3:58 PM

cheap cialis in south africa cialis online fastest delivery <a href="http://kaivanrosendaal.com/">cialis pills</a> cialis 30 day free trial coupon cialis 20mg review <a href=http://kaivanrosendaal.com>Cialis Cheap Buy Online</a> prescription cialis medecin cialis soft tab new york compra http://kaivanrosendaal.com/#cialis-prices
User

Davidsnisp/February 4 at 12:15 AM

compare cost of cialis discount cialis online overnight <a href="http://kaivanrosendaal.com">cialis without a doctor's prescription</a> cialis daily best price blackmarket cialis <a href=http://kaivanrosendaal.com>generic cialis</a> generic for cialis in the usa cost of cialis daily dose http://kaivanrosendaal.com/#Cialis-Cheap-Buy-Online
User

Davidsnisp/February 4 at 11:09 PM

cialis generic name generic cialis testimonials <a href="http://kaivanrosendaal.com/">Buy Cheap Cialis</a> generic cialis free sample cialis 5mg generic sale <a href=http://kaivanrosendaal.com/>cialis official site</a> cheap cipla cialis cialis online reviews http://kaivanrosendaal.com/#cialis-savings-card
User

Davidsnisp/February 5 at 7:32 PM

cialis prescription prices buy+cialis+online+without+prescription+in+canada <a href="http://kaivanrosendaal.com">cialis generic availability</a> buy cialis online with fast shipping cialis price per pill <a href=http://kaivanrosendaal.com>discount cialis</a> generic cialis jelly need to buy cialis http://kaivanrosendaal.com/#tadalafil
User

Tony/February 5 at 11:59 PM

Hi I have tried sending you a message from your site but I have gotten an auto response saying it was not delivered for some bizarre reason, so here goes again! Please acknowledge receipt. As I mentioned in my earlier message, I would like to contribute one of my guides on crypto-backed loans to your blog. I used to work for a payday loan company in the UK and so I have quite a good knowledge of the financial lending sector. I decided to write this guide because I feel that cryptocurrency will have a major impact on the payday loan industry in the next 5 to 10 years. I have tried to be as detailed as possible so you will find that the guide is fairly lengthy. Perhaps it would be a good idea for you to split it up into several blog posts or do as you see fit. I am terribly sorry but I did not have much time to find royalty free images. One company that I contacted whilst doing research and collecting references for this guide did give me permission to publish on of their banners that I have included in the g-drive folder. The entire guide is saved in a Word document inside my Google drive which you can access via this link https://drive.google.com/drive/folders/1TjO3WVH0tKuzotBh65w8jrJaCUfsjDdP?usp=sharing I hope your readers will enjoy reading my guide. I would be most grateful if you could send me a link to the guide once you have published it! I will endeavour to write a couple more articles as and when I get some more free time: it is hell at work after the festive period. Have a fab day. Regards Tony
User

Tony/February 9 at 3:14 AM

Hi I have tried sending you a message from your site but I have gotten an auto response saying it was not delivered for some bizarre reason, so here goes again! Please acknowledge receipt. As I mentioned in my earlier message, I would like to contribute one of my guides on crypto-backed loans to your blog. I used to work for a payday loan company in the UK and so I have quite a good knowledge of the financial lending sector. I decided to write this guide because I feel that cryptocurrency will have a major impact on the payday loan industry in the next 5 to 10 years. I have tried to be as detailed as possible so you will find that the guide is fairly lengthy. Perhaps it would be a good idea for you to split it up into several blog posts or do as you see fit. I am terribly sorry but I did not have much time to find royalty free images. One company that I contacted whilst doing research and collecting references for this guide did give me permission to publish on of their banners that I have included in the g-drive folder. The entire guide is saved in a Word document inside my Google drive which you can access via this link https://drive.google.com/drive/folders/1TjO3WVH0tKuzotBh65w8jrJaCUfsjDdP?usp=sharing I hope your readers will enjoy reading my guide. I would be most grateful if you could send me a link to the guide once you have published it! I will endeavour to write a couple more articles as and when I get some more free time: it is hell at work after the festive period. Have a fab day. Regards Tony
User

Jonathan Weyermann/February 23 at 4:16 AM

Hello Tony, I'd love to take a look at it, but your link seems broken
User

Mittie Astudillo/February 14 at 7:32 AM

There is a negative video circulating about your site that is going viral. You might want to check out the video at http://www.badreviewssharing.website
User

Kat/February 14 at 5:26 PM

Hello Is your website text outdated & boring? Does it need a ninja copywriter to give it that magic touch to bring in more traffic & sales? Anyways, like my content I like to get to the point. I'd like to write a sample article for your webste. If that sounds good, please learn more here: https://kathreadwrites.xyz/us-promo/ (SAVE $50+) Be Fantastic, Kat P.S.I spend my time writing copy for clients. This means I try to avoid emails if possible. I do, however, prioritize existing clients & any new website inquiries. These get a FAST response. If you want to get in touch, please use the contact form on my website instead of emailing me. Unsubscribe: https://kathreadwrites.xyz/unsub/?dom=jonathanweyermann.com
User

feeerardRop/February 24 at 11:22 PM

erfahrungen mit online apotheken cialis <a href="http://www.mayavanrosendaal.com">cialis without prescription online </a> http://arcadegz.freehostia.com/profile/317175/Koenig59Krog.htm https://getsatisfaction.com/people/newman35ivey https://theconversation.com/profiles/hoover-mose-696276 http://forum.plantuml.net/index.php?qa=user&qa_1=ivey61rees https://sharenator.com/profile/skrivermccoy0/ comprare cialis online forum <a href="http://www.mayavanrosendaal.com">http://www.mayavanrosendaal.com </a>
User

Shasta Keaton/February 26 at 2:56 PM

Hi after looking at your site profile, we will like to discuss about the possibility of sponsoring your site. Our Company profile: https://themoneyguide.net Please take a look at our profile and advise if you are interested to discuss further on the sponsorship.
User

JasonFreni/March 1 at 3:38 AM

cialis phone ordersfree voucher for cialis online pharmacy Cialis 40 mg <a href="http://xcialis20mg.com">Cialis 20mg</a>
User

JasonFreni/March 1 at 12:21 PM

cialis naturale in erboristeriaacquistare cialis in contanti Cialis 60mg <a href="http://xcialis20mg.com">http://xcialis20mg.com</a>
User

JasonFreni/March 2 at 4:46 AM

cheap cialis from usado prescription plans cover cialis Cialis 60 mg <a href="http://xcialis20mg.com">http://xcialis20mg.com</a>
User

JasonFreni/March 2 at 12:02 PM

cialis legale quebec paypalcialis for daily use side effects Buy Cialis 20mg <a href="http://xcialis20mg.com">http://xcialis20mg.com</a>
User

Henryfax/March 5 at 10:10 AM

typical price for cialis <a href="https://skylensnw.com/">Buy cialis 40mg</a> https://skylensnw.com http://oblosvita.com/user/Daley67Clements/ http://www.tagsorrento.it/index.php?option=com_k2&view=itemlist&task=user&id=936581 http://brantley43carlsen.ebook-123.com/post/purchase-cialis-tadalafil-prescribed-online-delivered-to-your-door
User

Henryfax/March 5 at 8:38 PM

cialis for daily use from canada <a href="https://skylensnw.com/">Buy cialis 20 mg</a> https://skylensnw.com http://www.research.pmcg-i.com/index.php?option=com_k2&view=itemlist&task=user&id=1057702 https://dokuwiki.stream/wiki/Purchase_Cialis_From_81p https://hikvisiondb.webcam/wiki/Purchase_Cialis_Online_With_out_A_Medical_doctors_Prescription
User

Henryfax/March 6 at 6:21 AM

cialis and stress test <a href="https://skylensnw.com/">Buy cialis 40mg</a> https://skylensnw.com http://cutt.us/aVUUb http://brantley51brantley.pen.io http://www.idolocharter.com/index.php?option=com_k2&view=itemlist&task=user&id=872187
User

Marjorie Lascelles/March 16 at 11:00 PM

This is important. Please check out https://www.binaryoptiontrading.club/