0

私は、sixrevisions.com の How to Create a Blog from Scratch Using Ruby on Rails チュートリアルに取り組んでいます。

サーバーを実行して新しい投稿を作成すると、コメントを追加するための目に見えるオプションがありません。チュートリアルによると、作成した投稿に編集終了のコメントを追加できるはずです。

私のcomments_controller.rb:

  class CommentsController < ApplicationController
  # GET /comments
  # GET /comments.json
    def index
      @comments = Comment.all

      respond_to do |format|
        format.html # index.html.erb
        format.json { render json: @comments }
      end
    end

    # GET /comments/1
    # GET /comments/1.json
     def show
      @comment = Comment.find(params[:id])

       respond_to do |format|
         format.html # show.html.erb
         format.json { render json: @comment }
       end
    end

     # GET /comments/new
     # GET /comments/new.json
    def new
       @comment = Comment.new

       respond_to do |format|
       format.html # new.html.erb
       format.json { render json: @comment }
      end
    end

    # GET /comments/1/edit
    def edit
       @comment = Comment.find(params[:id])
    end

    # POST /comments
    # POST /comments.json
    def create

        @post = Post.find(params[:post_id])
        @comment = @post.comments.create!(params[:comment])
        redirect_to @post
    end


    # PUT /comments/1
    # PUT /comments/1.json
     def update
       @comment = Comment.find(params[:id])

       respond_to do |format|
         if @comment.update_attributes(params[:comment])
         format.html { redirect_to @comment, notice: 'Comment was successfully      
         updated.' }
          format.json { head :no_content }
         else
          format.html { render action: "edit" }
         format.json { render json: @comment.errors, status: :unprocessable_entity }
         end
       end
     end

     # DELETE /comments/1
     # DELETE /comments/1.json
    def destroy
      @comment = Comment.find(params[:id])
      @comment.destroy

      respond_to do |format|
        format.html { redirect_to comments_url }
        format.json { head :no_content }
      end
    end
  end

Show.html.erb

 <p>
   <b>Title:</b>
   <%=h @post.title %>

 </p>

 <p>
   <b>Body:</b>
   <%=h @post.body %>
 </p>

 <h2>Comments</h2>

 <% @post.comments.each do |c| %>
   <p>
     <b><%=h c.name %> said:</b><br />
     <%= time_ago_in_words(c.created_at) %> ago
   </p>

   <p>
     <%=h c.body %>
   </p>
 <% end %>

 <% form_for [@post, Comment.new] do |f| %>
   <p>

     <%= f.label :name, "Author" %><br />
     <%= f.text_field :name %><br />
     <%= f.label :body, "Comment Description" %><br />
     <%= f.text_area :body %>
  </p>

  <p>
     <%= f.submit "Add Comment" %>
  </p>
 <% end %>

レーキルート

   post_comments GET    /posts/:post_id/comments(.:format)     comments#index
                 POST   /posts/:post_id/comments(.:format)     comments#create
new_post_comment GET    /posts/:post_id/comments/new(.:format) comments#new
edit_post_comment GET   /posts/:post_id/comments/:id/edit(.:format) comments#edit
 post_comment GET    /posts/:post_id/comments/:id(.:format)    comments#show
              PUT    /posts/:post_id/comments/:id(.:format)      comments#update
              DELETE /posts/:post_id/comments/:id(.:format)      comments#destroy
        posts GET    /posts(.:format)                            posts#index
              POST   /posts(.:format)                            posts#create
     new_post GET    /posts/new(.:format)                        posts#new
    edit_post GET    /posts/:id/edit(.:format)                   posts#edit
         post GET    /posts/:id(.:format)                        posts#show
              PUT    /posts/:id(.:format)                        posts#update
              DELETE /posts/:id(.:format)                        posts#destroy
                     /:controller/:action/:id(.:format)          :controller#:action
                     /:controller/:action/:id.:format            :controller#:action
         root        /                                           posts#index

助けてくれてありがとう!

4

2 に答える 2

1

で新しいリンクを作成します

<%= link_to('new comment',new_post_path) %>

ビューテンプレートで

于 2013-02-13T00:29:36.653 に答える