gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 03:44:05 24 4
gpt4 key购买 nike

我乞求学习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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com