【发布时间】:2015-06-02 02:18:14
【问题描述】:
我正在研究 Ruby on Rails,发现了一个我无法解决的问题。
说明: 我有一张票和评论。一张 Ticket 应该有很多 cmets。属于票证的所有 cmets 应在票证的“显示”视图中列出。还有一个文本字段和一个“添加新评论”按钮。添加评论后,应呈现当前工单的“显示”视图。
问题: 如何将当前工单的 id 发送到 Comments 模型以保存评论以及如何从 Comment 的方法“create”中呈现(或重定向?)工单的视图“显示”?
我的文件:
class Ticket < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :ticket
end
class TicketsController < ApplicationController
def show
@ticket = Ticket.find(params[:id])
@comment = Comment.new
end
......
class CommentsController < ApplicationController
def create
@comment = Comment.new(params.require(:comment).permit(:text))
**@comment.ticket_id = @current_ticket_id** #The problem is here
@comment.save
**redirect_to ticket_path(params[:id])** #and here
end
<h1>Ticket details</h1>
<%= @ticket.number %></br>
<%= @ticket.title %></br>
<%= @ticket.text %></br>
<h3>Comments:</h3>
<%= form_for(@comment) do |f| %>
<%= f.label "Your comment:" %>
<%= f.text_field :text %>
<%= f.submit %>
<% end %>
</br>
<% @ticket.comments.all.each do |comment| %>
<p><%= comment %></p>
<% end %>
【问题讨论】:
标签: ruby-on-rails model-view-controller params