0

それらは私のルートです:

  resources :forums, :shallow=>true do
    resources :topics, :shallow=>true do
      resources :posts
    end
  end

topics/show.html.erbに投稿を残すためのフォームを追加しました (PostのコメントのようなものですTopic)

<%= form_for [@topic, @post] do |f| %>
    <div class="field">
    <%= f.label "content" %><br />
    <%= f.text_area :content %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

:topic_id問題は、モデル内のフィールドPostが空のままであることです。トピックのIDを自動的に取得するべきではありませんか?

ありがとう

4

1 に答える 1

1

PostsController の create アクションで、topic_id が params[:post] 内にありません。そのため、次のように、手動で投稿するトピック ID を割り当てる必要があります。

...
@post = Post.new(params[:post])
@post.topic_id = params[:topic_id]
if @post.save
  flash.notice "Post created successfully"
else
  flash.error "Error saving post"
end
...
于 2012-12-10T14:01:54.060 に答える