2016-04-17 2 views
0

Ich habe Themen und Beiträge und sie haben beide Beziehungen. Ich habe die Anleitung zum Hinzufügen eines verschachtelten Posts befolgt, aber wenn ich versuche, auf einen Post zu antworten, erhalte ich Couldn't find Topic with 'id'=.Versuchen, einen verschachtelten Beitrag mit dem Ahnen-Juwel hinzuzufügen

In meinem Posts Controller

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 

In meinem Topics Controller

def show 
@topic = Topic.find params[:id] 
@post = Post.new(:parent_id => params[:parent_id]) 
@posts = @topic.posts 
@topic.punch(request) 
end 

ich es kurz halten werde, wie ich in meinen Themen/show.html.erb Seite meiner Antwort-Taste haben

<% @posts.each do |post| %> 
<%= link_to "Reply", new_topic_post_path(@topic, :parent_id => post) %> 
<% end %> 

Jetzt ist dies meine Form

<%= 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

Es sieht aus wie 'params [: topic_id]' in 'create' fehlt. Können Sie uns Ihre Routes-Dateien, die URL, unter der 'create' steht, und die Parameter in der Anfrage zeigen? –

+0

Es tut mir leid für die späte Antwort. Ich habe 'params [: topic_id]' vermisst. Vielen Dank. – Wesly

Antwort

0

@ Kristján beantwortete meine Frage. Ich vermisste params[:topic_id]

Verwandte Themen