我收到上述错误当我访问http://127.0.0.1:3000/posts/show
网址时,它会给我错误
Couldn't find Post with id=show
Extracted source (around line #5)
def show
@post = Post.find(params[:id])--here is line number 5
end
def create
@post = Post.new(post_params)
activerecord (4.0.3) lib/active_record/relation/finder_methods.rb:198:in `raise_record_not_found_exception!'
当我访问网址http://127.0.0.1:3000/posts/index...
时,同样的问题
my controller file is
posts_controller.rb
class PostsController < ApplicationController
def new
end
def show
@post = Post.find(params[:id])
end
def create
@post = Post.new(post_params)
@post.save
redirect_to @post
# or this command also works redirect_to action: :show, id: @post.id
end
def index
@posts = Post.all
end
private
def post_params
params.require(:post).permit(:title, :text)
end
end
my routes.rb file is
Blog::Application.routes.draw do
resources :posts
root to: "posts#index"
end
index.html.rb文件是
<h1>Listing posts</h1>
<h3><%= link_to 'New post', new_post_path %></h3>
<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"%>
show.html.rb文件是
这是从数据库中列出信息的show file,这个文件在从url直接访问时出现问题这是从数据库中列出信息的show file,这个文件在从url直接访问时出现问题这是显示文件列表信息从数据库,这个文件直接从url访问时出现问题这是从数据库中列出信息的show file,这个文件在从url直接访问时出现问题这是从数据库中列出信息的show file,这个文件在访问时给出了问题来自网址直接
<p>
<strong>Title:</strong>
<%= @post.title %>
</p>
<p>
<strong>Text:</strong>
<%= @post.text %>
</p>
<%= link_to 'Back', posts_path %>
这是从数据库列出信息的show file,这个文件在从url直接访问时出现问题这是从数据库中列出信息的show file,这个文件直接从url访问时出现问题
答案 0 :(得分:1)
您需要提供身份证明。找不到记录,因为您正在提供&#34; show&#34;作为身份证。 http://ruby.railstutorial.org/chapters/sign-up#code-user_show_action
示例:访问posts / 1而不是posts / show