Ruby on rails 为什么我会得到未定义的方法'action';对于PostsController(表不存在)?

Ruby on rails 为什么我会得到未定义的方法'action';对于PostsController(表不存在)?,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我对编码还很陌生,所以我决定为4.0.0版启动RubyonRails指南,遇到了一个又一个问题。我目前运行的是4.0.0版,我已经一步一步地遵循了指南 当我进入5.2第一个表单时,我开始出现错误,并使用其他人的帖子来解决我的问题,但这个错误似乎不会发生在其他任何人身上,所以这里是: NoMethodError in PostsController#index undefined method `action' for PostsController(Table doesn't exist):Cl

我对编码还很陌生,所以我决定为4.0.0版启动RubyonRails指南,遇到了一个又一个问题。我目前运行的是4.0.0版,我已经一步一步地遵循了指南

当我进入5.2第一个表单时,我开始出现错误,并使用其他人的帖子来解决我的问题,但这个错误似乎不会发生在其他任何人身上,所以这里是:

NoMethodError in PostsController#index
undefined method `action' for PostsController(Table doesn't exist):Class
这是我的密码:

class PostsController < ActiveRecord::Base                             

attr_accessible :title, :text                            

  def new                                                              
  end                                                                  

  def create                                                           
    @post = Post.new(params[:post].permit(:title, :text))              

    @post.save                                                         
    redirect_to @post                                                  
  end                                                                  

  def show                                                             
    @post = Post.find(params[:id])                                     
  end                                                                  

  def index                                                            
    @post = Post.all                                                   
  end                                                                  

  def action                                                           
  end                                                                  

  private                                                              
    def post_params                                                    
      params.require(:post).permit(:title, :text)                      
    end                                                                

end   
类PostsController 以下是我的看法:

<p>
  <strong> Title: </strong>
  <%= @post.title %>
</p>

<p>
  <strong> Text: </strong>
  <%= @post.text %>
</p>

标题:

文本:

我的表格是:

<h1> New Post </h1>

 <%= form_for :posts, url: posts_path 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 %>
  </p>
  <% end %>
新职位



错误表明我没有定义一个动作方法,但我不确定首先如何定义一个动作方法,但这还不是全部。当我转到我的localhost:3000/posts/new页面时,我得到了相同的错误,但对于
PostsController\35; new


有人能帮帮我吗

不清楚为什么控制器从模型类继承:

class PostsController < ApplicationController
  # ...
end
class PostsController
表不存在
应该是一个很好的线索。您的数据库中是否存在该表?我查看了数据库,但其中似乎没有表,对于如何将表放入其中或如何获取表,您有什么建议吗?我从模型类继承的原因是,如果没有继承ActiveRecord::Base,attr\u accessible将无法工作。如果没有attr_accessible,调用表单的标题和文本似乎会出现问题。实际上,我刚刚意识到我必须将attr_accessible放在实际的Ative记录库中,并将该控制器更改回ApplicationController!!感谢您的帮助。ActiveRecord仅适用于型号。像您所做的那样将该声明放在模型中是正确的方法。