1

当我浏览到我的索引页面时出现路由错误。我设置了一些简单的东西,模型有:title (string):content(text).

index.html.erb

<h1>Listing all notes</h1>
<% @posts.each do |post| %>
  <h2><%= link_to post.title, post %></h2>
  <p><%= post.content %></p>
  <hr/>
<% end %>
<small><%= link_to "Add New Note", new_post_path %></small>
<small><%= link_to "Edit", edit_post_path(@post) %></small>

post_controller.rb

class PostsController < ApplicationController
def index
   @posts = Post.all
end

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

def create
   @post = Post.new(params[:post])

   if @post.save
       redirect_to posts_path, :notice => "Your Note was Saved!"
   else
       render "new"
   end
end

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

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

   if @post.update_attributes(params[:post])
       redirect_to posts_path
   else
       render "edit"
   end
end

当我浏览到应用程序时:3000/posts,我收到错误:

没有路线匹配 {:controller=>"posts", :action=>"show"}

我的 routes.rb 看起来像往常一样。

路线.rb

NotePad::Application.routes.draw do
   resources :posts

任何帮助都会非常有用。

4

2 回答 2

3

您的 index.html.erb 文件有错误。正确的语法是:

<h1>Listing all notes</h1>
<% @posts.each do |post| %>
  <h2><%= link_to post.title, post_path(post) %></h2>
  <p><%= post.content %></p>
  <hr/>
<% end %>
<small><%= link_to "Add New Note", new_post_path %></small>

而且编辑链接也错了

于 2013-02-25T11:11:33.003 回答
3

这不会解决您的问题,但可以帮助您:

$ rake routes

这将向您显示应用程序上的所有路线。

于 2013-02-25T11:12:12.233 回答