ruby on rails错误undefined method `title' for nil:NilClass

来源:互联网 发布:淘宝插件哪个好用 编辑:程序博客网 时间:2024/05/22 14:28

首先搞清楚这句话,在 Ruby 中,方法分为publicprivateprotected 三种,只有 public 方法才能作为控制器的动作。

我的出错的代码如下:

controlle

class ArticlesController < ApplicationControllerdef new enddef createparams.permit!  @article = Article.new(params[:article])@article.saveredirect_to @articleendprivate  def article_params    params.required(:article).permit(:title, :text)  end  def show   @article = Article.find(params[:id])  endend

view show.html.erb

<p><strong>Title:</strong><%= @article.title %></p><p><strong>Text;</strong><%= @article.text %></p>

报错说是:

NoMethodError in Articles#show

Showing /home/huihui/Documents/ruby/blog/app/views/articles/show.html.erb where line #3 raised:

undefined method `title' for nil:NilClass

解决方法是:

在controlle文件里:

class ArticlesController < ApplicationControllerdef new enddef createparams.permit!  @article = Article.new(params[:article])@article.saveredirect_to @articleend  def show   @article = Article.find(params[:id])  end  private  def article_params    params.required(:article).permit(:title, :text)  endend

把show方法改成公有的就好啦


1 0
原创粉丝点击