Ruby on rails 为什么我会得到未定义的方法'action';对于PostsController(表不存在)?
我对编码还很陌生,所以我决定为4.0.0版启动RubyonRails指南,遇到了一个又一个问题。我目前运行的是4.0.0版,我已经一步一步地遵循了指南 当我进入5.2第一个表单时,我开始出现错误,并使用其他人的帖子来解决我的问题,但这个错误似乎不会发生在其他任何人身上,所以这里是: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
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仅适用于型号。像您所做的那样将该声明放在模型中是正确的方法。