Este post tem por base o tutorial do rehali.
Então antes de começar você deve fazer primeiro o post dele.
Seguindo sua linha de programação neste post irei implementar a funcionalidade de inserir os comentários em um artigo(post), com as mesmas funcionalidades que o rehali usou em seu artigo: Jquery e Ajax.
Vamos as alterações no post do rehali, para em seguida implementar a nova funcionalidade de adicionar comentarios ao artigo.
Abra o model de Post e adicione o seguinte metodo:
123
definfo"#{title} - [#{email}]"end
Agora abrimos o arquivo views/posts/_post.html.erb e modificamos a segunda linha, ficando agora assim:
123456
<%= content_tag_for(:li, post) do %> <p class="title"><%= link_to post.info, post %></p> <p class="content"><%= truncate post.content %></p> <span class="posted_at">Postedat<%= time_ago_in_words(post.created_at) %> ago. (<%=link_to'Delete',post,:confirm=>'Are you sure?',:method=>:delete,:remote=>true%>)</span><% end %>
Aqui concluímos as alterações necessarias no post do rehali, para colocarmos os comentarios. Mãos a obra lol.
Criamos o scaffold de comentarios e geramos sua tabela:
rails g scaffold comment emai:string message:text references:post
rake db:migrate
Abra o model de post e o arquivo config/routes.rb e adicione respectivamente:
has_many :comments #model post
resources :posts do #aquivo routes
resources :comments
end
Em seguida crie a partial que irá mostrar os comentarios dentro da pagina do artigo com o nome de _comment.html.erb dentro da pasta views/comments com o seguinte código:
12345
<%= content_tag_for(:li, comment) do %> <p class="title"><%= comment.email %>: <%=comment.message%></p><spanclass="posted_at">Postedat<%= time_ago_in_words(comment.created_at) %> ago. (<%=link_to'Delete',comment,:confirm=>'Are you sure?',:method=>:delete,:remote=>true%>)</span><% end %>
Continuando, crie os arquivos create.js.erb e destroy.js.erb dentro da pasta views/comments com o seguinte código, respectivamente:
html,body{font-family:Arial;font-size:12px;}textarea{font-family:Arial;font-size:12px;width:500px;height:100px;padding-bottom:8px;}.textfield{font-family:Arial;font-size:14px;width:300px;padding-bottom:8px;border:1pxsolidblack;}#comments ul {margin:0;padding:0;}#comments li {margin-left:-30pt;margin-bottom:16px;padding:8px;list-style:none;border:1pxsolid#ccc;}#comments p {margin:0;}#comments .title {font-size:13px;font-weight:bold;}#comments .content {font-size:12px;margin-top:10px;margin-bottom:10px;}.posted_at{font-size:8pt;text-decoration:italic;margin-bottom:8px;}#timer {font-size:8pt;text-decoration:italic;}
Agora é so abrir o terminal e executar rails s. Simples e fácil lol.