Witam,
Dziś walcze z gem-em do komentarzy acts_as_commentable_with_threading.
Wszystko pięknie działa ale mam mały problem przy tworzeniu child/reply
Chcę żeby przy kliknięciu przycisku “Odpowiedź” przy komentarzu wypełnił się hidden_field w form-ie komentarza o comment_parrent_id
<%= form_tag({controller: "dashboards", action: "add_comment"}) do %>
<%= hidden_field_tag "id", @dashboard.id %>
<%= hidden_field_tag "comment_parrent_id" %>
<%= image_tag(current_user.avatar, :class => "img-rounded", :width => "70", "style" => "margin:5px;") %>
<%= text_area_tag :komentarz, nil, :rows => 3, "style" => "width:60%;" %>
<button type="submit" class="btn btn-large btn-success">
<i class="icon-comment"></i>
</button>
<% end %>
Domyślam się że trzeba to zrobić JavaScriptem chyba że może nie ? ;>
Przycisk będzie miał id w którym będzie trzymany id commentu i po przyciśnieciu to id przeniesione będzie do tego hidden_field z form-a
<% @all_comments.each do |comment| %>
<% @user = User.find(comment.user_id) %>
<div class="comment">
<div class="comment_avatar">
<%= image_tag(@user.avatar, :width => "50", "style" => "margin:5px;") %>
</div>
<div class="comment_user">
<u><%= link_to @user.username, @user, "style"=>"font-weight:bold;" %> <%=I18n.l comment.created_at, :format => :long %></u>
Odpowiedź <br /> <-- Tu będzie ten przycisk
<%= comment.body %>
</div>
</div>
<% if comment.has_children? %>
<% comment.children.each do |children| %>
<% @user_children = User.find(children.user_id) %>
<div class="comment">
<div class="comment_reply_user">
<%= children.body %> -
<%= link_to @user_children.username, @user_children, "style"=>"font-weight:bold;" %> <%=I18n.l comment.created_at, :format => :short %>
</div>
</div>
<% end %>
<% end %>
<% end %>
Dodam tylko że całość działa jeśli ręcznie wpisze w to pole comment_parrent_id a chciałbym żeby odbywało się to automatycznie ;]
napewno robił ktoś już coś podobnego byłbym wdzięczny za pomoc
Pozdrawiam
Sprawa była banalna nie wiem czy jest ładniejszy sposób ale zrobiłem to tak:
<script>
$(".comment_reply").click(function () {
var text = this.id
$("#comment_parrent_id").val(text);
});
</script>