Ruby on Rails 5.10 指南(博客)错误
Ruby on Rails guide (blog) error in 5.10
我正在 Rails 上学习 Ruby 并开始通过 http://guides.rubyonrails.org/getting_started.html#showing-articles 制作这个小博客应用程序。
现在我在 5.10,我需要向表单添加验证,所以如果用户添加长度小于 5 的标题。
所以这是我的 articles_controller.rb:
class ArticlesController < ApplicationController
def index
@articles = Article.all
end
def show
@article = Article.find(params[:id])
end
def new
end
def create
#render plain: params[:article].inspect
#@article = Article.new(params[:article])
@article = Article.new(article_params)
#@article.save
if @article.save
redirect_to @article
else
render 'new'
end
redirect_to @article
end
private
def article_params
params.require(:article).permit(:title, :text)
end
end
在这个视图中我有一个错误 (new.html.erb):
<%= form_for :article, url: articles_path do |f| %>
<% if @article.errors.any? %>
<% end %>
<p>
<%= f.label :title %><br>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :text %><br>
<%= f.text_area :text %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
<%= link_to 'Back', articles_path %>
这是我得到的错误:
我是 Ruby 和 rails 的新手,希望能得到一些帮助。
您没有初始化 @article
实例变量,但您尝试在 new
视图中使用它。你应该有:
def new
@article = Article.new
end
我正在 Rails 上学习 Ruby 并开始通过 http://guides.rubyonrails.org/getting_started.html#showing-articles 制作这个小博客应用程序。 现在我在 5.10,我需要向表单添加验证,所以如果用户添加长度小于 5 的标题。
所以这是我的 articles_controller.rb:
class ArticlesController < ApplicationController
def index
@articles = Article.all
end
def show
@article = Article.find(params[:id])
end
def new
end
def create
#render plain: params[:article].inspect
#@article = Article.new(params[:article])
@article = Article.new(article_params)
#@article.save
if @article.save
redirect_to @article
else
render 'new'
end
redirect_to @article
end
private
def article_params
params.require(:article).permit(:title, :text)
end
end
在这个视图中我有一个错误 (new.html.erb):
<%= form_for :article, url: articles_path do |f| %>
<% if @article.errors.any? %>
<% end %>
<p>
<%= f.label :title %><br>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :text %><br>
<%= f.text_area :text %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
<%= link_to 'Back', articles_path %>
这是我得到的错误:
我是 Ruby 和 rails 的新手,希望能得到一些帮助。
您没有初始化 @article
实例变量,但您尝试在 new
视图中使用它。你应该有:
def new
@article = Article.new
end