我有主题和帖子,他们都有关系。我一直在关注如何添加嵌套帖子的指南,但当我尝试回复帖子时,我得到Couldn't find Topic with 'id'=
。
在我的Posts
控制器
def create
@topic = Topic.find params[:topic_id]
@post = Post.new(post_params)
@post.user_id = current_user.id
@post.topic_id = @topic.id
if @post.save
redirect_to @topic
else
render :new
end
end
在我的Topics
控制器
def show
@topic = Topic.find params[:id]
@post = Post.new(:parent_id => params[:parent_id])
@posts = @topic.posts
@topic.punch(request)
end
我会在我的主题/ show.html.erb页面中为我的回复按钮做些简短
<% @posts.each do |post| %>
<%= link_to "Reply", new_topic_post_path(@topic, :parent_id => post) %>
<% end %>
现在这是我的表格
<%= simple_form_for [@topic, @post] do |f| %>
<%= f.hidden_field :parent_id %>
<%= f.input :content, as: :pagedown, input_html: { preview: true, rows: 10 }, label: 'Markdown' %>
<%= f.submit "Post", class: 'button expanded' %>
<% end %>
答案 0 :(得分:0)
@Kristján回答了我的问题。我错过了params[:topic_id]