ruby-on-rails - Controller 上nil:NilClass的未定义方法“保存”

标签 ruby-on-rails

我乞求学习Rails上的ruby,并执行以下操作,收到以下错误:

ArticlesController#create中的NoMethodError
nil:NilClass的未定义方法“保存”

它与@ article.save有关
article_controllers.rb

class ArticlesController < ApplicationController
 def new
   @article = Article.new
 end
 def create
 #render plain: params[:article].inspect
   @article = Article.new(article_params)
   @article.save
   redirect_to articles_show(@article)
 end
 private
   def article_params
   params.require(:article).permit(:tittle, :description)  
   end
 end

routes.rb
Rails.application.routes.draw do

root 'pages#home'

get 'about', to: 'pages#about'

resources :articles

end

new.html.erb
创建文章
<%= form_for @article do |f| %>

<p>
    <%= f.label :tittle %><br>
    <%= f.text_field :tittle %>
</p>
<p>
    <%= f.label :description %> <br>
    <%= f.text_area :description %>
</p>
<p>
    <%= f.submit %> 
</p>

<% end %>

最佳答案

undefined method `save' for nil:NilClass


此错误表示您正在NilClass对象(即save)上调用nil方法。

当您执行此操作时:@article.save,由于某种原因,@article在此处为nil,因此会出现该错误。确保填充@article对象,然后调用:@article.save

在尝试保存它之前,请检查Rails日志并放置一些调试打印信息,例如:puts @article.inspect

关于ruby-on-rails - Controller 上nil:NilClass的未定义方法“保存”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34377789/

相关文章:

ruby-on-rails - Rails 1.day.ago 将参数作为字符串?

ruby-on-rails - 与主动模型序列化程序的急切加载关联

ruby-on-rails - ActiveRecord 模型测试的性能

ruby-on-rails - Rails ActiveRecord : Select Posts WITHOUT comments

ruby-on-rails - 将选项哈希传递给 sidekiq 工作器

ruby-on-rails - 如果元素可点击,如何在 Capybara 中进行测试?

javascript - 在 rails 中使用 ajax 请求更新数据库

ruby-on-rails - 在 Rails 中显示 404 而不是 500

ruby-on-rails - 根据性别和兴趣检测用户的性倾向

ruby-on-rails - 作为 Rails 3.0 的核心堆栈,我能期待什么?我现在需要将什么作为插件包含在内