Ruby on Rails指南|部分变量 - 不能包含nil或为空

时间:2014-07-14 21:35:24

标签: ruby-on-rails-4

我正在关注Ruby on Rails指南,当我想创建一篇新文章时,我在渲染部分时遇到错误:

  

表单中的第一个参数不能包含nil或为空

标记错误来自位于与索引位于同一位置的部分_form.html.erb:

<%= form_for @article do |f| %>

index.html.erb有链接:

<%= link_to 'New article', new_article_path %>

控制器:

def create
    @article = Article.new(article_params)

    @article.save
    redirect_to @article
end

形成部分:

<%= form_for @article do |f| %>

    <p>
        <%= f.label :title %><br>
        <%= f.text_field :title %>
    </p>
    <p>
        <%= f.label :text %><br>
        <%= f.text_area :text %>
    </p>
    <p>
        <%= f.submit %><br>
    </p>
<% end %>

new.html.erb呈现部分:

<h1>New article</h1>

<%= render 'form' %>

<%= link_to 'Back', articles_path %>

1 个答案:

答案 0 :(得分:1)

您的控制器需要new方法

def new
  @article = Article.new
end

那样,form_for可以引用一个@article对象。

当您点击new链接时,会执行new操作并显示表单。只有在提交表单时才会执行create操作。