NoMethodError on section 5.7 of Rails Guide

前端 未结 2 1701
萌比男神i
萌比男神i 2021-01-25 17:48

I\'m following the Getting Started tutorial for Rails 4.0.0 located here: http://guides.rubyonrails.org/getting_started.html

I\'m at the point in section 5.7 where I\'m

相关标签:
2条回答
  • 2021-01-25 18:32

    I was having the same problem with the tutorial (which at this date (11/18/14) uses 'articles' instead of 'posts'), and found the solution to be the placement of the following "def" block in articles_controller.rb:

      def show
        @article = Article.find(params[:id])
        end
    

    Here's what it looks like for me:

    class ArticlesController < ApplicationController
    def new
        end
    
    def create
        @article = Article.new(article_params)
    
        @article.save
        redirect_to @article
    end
    
    def show
        @article = Article.find(params[:id])
    end
    
    private
    def article_params
        params.require(:article).permit(:title, :text)
    end 
    end
    
    0 讨论(0)
  • 2021-01-25 18:45

    Just write down show method after create method, as your show method is below the keyword private it is taking private as a Access Modifier and hence can't access directly through browser

    class PostsController < ApplicationController
      def new
      end
    
      def create
        @post = Post.new(post_params)    
        @post.save
        redirect_to @post
      end
    
      def show
        @post = Post.find(params[:id])
      end
    
      private
        def post_params
          params.require(:post).permit(:title, :text)
        end           
    end
    
    0 讨论(0)
提交回复
热议问题