0

我在添加帖子链接时遇到了问题。 My code for index is :-

<h1>Listing posts</h1>
<%= link_to 'new post',new_post_path %>
<table>
<tr>
<th>title </th>
<th>text</th>
</tr>
<% @posts.each do |post| %>
<tr>
<td> <%= post.title %> </td>
<td><%= post.text %> </td>
</tr>
<% end %>
</table>
<h1> hello rails </h1>
<%= link_to "my blog",controller: "posts" %>
<p>Find me in app/views/welcome/index.html.erb</p>

my code for post_controller is:-

class PostsController < ApplicationController
def index
@posts=post.all
end
def new
end
def create
@post=Post.new(params[:post].permit(:title,:text))
@post.save
redirect_to @post
#render text: params[:post].inspect
end
def show
@post=Post.find(params[:id])
end
private
def post_params
params.require(:post).permit(:title,:text)
end
end

显示的错误是“未定义的局部变量或方法 `post' for #”请帮我跟踪错误

4

1 回答 1

1

检查PostsControllerindex中的方法代码:

它应该是:

def index
@posts=Post.all
end

代替:

def index
@posts=post.all
end

查看:

http://guides.rubyonrails.org/getting_started.html

该文档清楚地说:

打开app/controllers/posts_controller.rb并在PostsController类内部,定义一个新方法,如下所示:

def new
end

使用 PostsController 中定义的新方法,如果你刷新你会看到另一个错误:

Template is missing.

您现在收到此错误是因为 Rails 期望像这样的普通操作具有与之关联的视图以显示其信息。由于没有可用的视图,Rails 出错了。

阅读文档以了解并尝试通过将一些视图与方法相关联来自己解决它。它太容易了,轨道方式。

于 2013-08-01T13:03:13.577 回答