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 %>
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? –
Es tut mir leid für die späte Antwort. Ich habe 'params [: topic_id]' vermisst. Vielen Dank. – Wesly