довольно сложно точно знать, что вы делаете, не видя больше кода, но я предполагаю, что переменная экземпляра @post была установлена с использованием @post = Post.find(params[:id])
в контроллере
# this is not needed, on the create, get it from the post?
<%= f.hidden_field :project_id, :value => params[:id] %>
# if you do want to pass it, guessing something like this
<%= f.hidden_field :project_id, :value => @post.project_id %>
# pass the post id to the create action
<%= f.hidden_field :post_id, :value => @post.id %>
# if the comment has a project_id
# @comment.project = @post.project ?
# do not send this in hidden field, get the value in your controller
# otherwise the user can change this value to another user when submitting the form
<%= f.hidden_field :user_id, :value => current_user.id %>
Вы также можете рассмотреть возможность использования вложенных маршрутов в случае комментариев?
Рекомендую прочитать о помощниках вида из направляющих рельсов:
http://guides.rubyonrails.org/index.html
страница http://guides.rubyonrails.org/getting_started.html на самом деле содержит примеры кода для поста с комментариями