在关联显示中编辑评论

时间:2019-03-07 23:47:35

标签: ruby-on-rails

我有一个音乐会模型和评论模型

用户直接在演唱会节目中写评论,但是出于任何原因,他可能想要对其进行编辑...

最简单的方法是什么?我不想进入编辑视图,但我希望在显示页面中对其进行编辑...

如何或可以使用该演出中的表格?

我在想一个模态,但我不确定它是不是友善的用户...

非常欢迎任何帮助

concerts / show.html.erb

<h1><%= @concert.kountry%> - <%= @concert.city %> - <%= @concert.venue %> </h1>

    <% @concert.comments.each do |c| %>
        <%= c.user.email %>
        <%= l(c.created_at, format: '%d/%m/%y - %H:%M:%S') %> - <%= link_to "Modifier", edit_concert_comment_path(c) %>
        <%= simple_format(c.content) %>
    <% end %>


    <%= simple_form_for([@concert, @comment]) do |f| %>
        <%= f.input :content, as: :text, placeholder: "your comment", label: false,  input_html: { rows: 3  } %>
        <%= f.submit "Send", class: "btn btn-success" %>
    <% end %>

1 个答案:

答案 0 :(得分:0)

您可以尝试使用Best In Place gem,它已经有一段时间没有更新了,但仍然可以使用。

修改表格

<% @concert.comments.each do |comment| %>
  <%= comment.user.email %>
  <%= l(comment.created_at, format: '%d/%m/%y - %H:%M:%S') %>
  <%= best_in_place(comment, :content, as: :textarea) %>
<% end %>

然后修改控制器

def update
  @comment = Comment.find params[:id]

  respond_to do |format|
    if @comment.update(update_comment_params)
      format.html { redirect_to(@comment, notice: 'Comment was successfully updated.') }
      format.json { respond_with_bip(@comment) }
    else
      format.html { render action: "edit" }
      format.json { respond_with_bip(@comment) }
    end
  end
end