Как мне отредактировать комментарий, если идентификатор не передается через URL - Rails 3? - PullRequest
0 голосов
/ 29 марта 2011

Так что это мой частичный:

<% upload_ids = comment.uploads.collect {|u| u.id }%>
<li>
    <div class="details">
        <span class="comment_name"><%= (comment.user.username).capitalize %></span> said
        <div class="comment-edit-icons">
            <% link_to(edit_comment_path) do %>
                <span class="icon edit-icon" title="Edit"> </span>
            <% end %>
            <span class="icon destroy-icon" data-destroy-title="Delete <%= comment.id %>?" data-destroy-url="<%= comment_path(comment) %>" title="Delete"> </span>
        </div>
    </div>
    <div class="uploads">
        <% comment.stage.uploads.each do |upload| %>
            <div class="upload-image<% if upload_ids.include?(upload.id) %> selected-image<% end %>" title="<%= upload.name %>"><%= image_tag(upload.image.url(:thumb))%></div>
        <% end %>
    </div>
        <div class="body">
            <%= comment.body %><br />
            <span class="timestamp"><%= time_ago_in_words(comment.updated_at) %> ago</span>
        </div>
</li>

Я пытался edit_comment_path, но это не работает, потому что URL имеет идентификатор для другой модели, а не комментарии.

часть, вызывающая это, выглядит следующим образом:

<ul class="comments-list">
<% comments.order("created_at DESC").each do |comment| %>
    <%= render :partial => "comments/show", :locals => {:comment => comment }%>
<% end %>

Я хотел бы сделать, чтобы span с заголовком 'Edit' был ссылкой для редактирования этого конкретного комментария.

Как мне это сделать?

1 Ответ

1 голос
/ 29 марта 2011

Если я что-то упустил, следующее, как вы описываете, должно работать:

edit_comment_path(comment)

Идентификатор берется из переданного объекта ActiveRecord, в данном случае комментария, а не из текущего URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...