Я изучаю Ruby on Rails и начинаю делать это небольшое приложение для блога через http://guides.rubyonrails.org/getting_started.html#showing-articles. Теперь я в 5.10, когда мне нужно добавить проверку в форму так, если пользователь добавляет Tittle с длиной короче 5.Ошибка Ruby on Rails (блог) в 5.10
Так что это мой 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 и рельсах, поэтому надеюсь, что смогу помочь.
Marek Lipka дал вам правильный ответ. Несколько других вещей - в Ruby (и Rails) считается хорошим стилем использования отступов, состоящим из 2 пробелов (вместо 4). Кроме того, в твоем действии действия не требуется вторая статья «redirect_to @». –
Да, сейчас это работает, спасибо Марек Липка. Но могу ли я объяснить, почему мне нужна эта линия или что она делает? –
Почему он решил использовать отступы, состоящие из 2 пробелов? –