我新的轨道,我得到这个错误:未定义的方法`posts_path” <#<类别:0x007fe3547d97d8>:0x007fe3546d58f0>
undefined method `posts_path' for #<#<Class:0x007fe3547d97d8>:0x007fe3546d58f0>
我下面张贴了我的文件,请请记住,我是新来的铁轨,这样简单的解释将非常感激!
Route.rb:
Rails.application.routes.draw do
get '/post' => 'post#index'
get '/post/new' => 'post#new'
post 'post' => 'post#create'
end
post_controller.rb:
class PostController < ApplicationController
def index
@post = Post.all
end
def new
@post = Post.new
end
def create
@post = Post.new(post_params)
if @post.save
redirect_to '/post'
else
render 'new'
end
end
private
def post_params
params.require(:post).permit(:content).permit(:title)
end
end
new.html.erb:
<%= form_for(@post) do |f| %>
<div class="field">
<%= f.label :post %><br>
<%= f.text_area :title %>
<%= f.text_area :content %>
</div>
<div class="actions">
<%= f.submit "Create" %>
</div>
<% end %>
或者通过路由的名称为'后“后” =>“后#创建”为:posts' – AbM
为什么会想到一个名为posts_path方法?你公布的代码如何解决这个问题?感谢您的答案,并抱歉noob问题=) – user11406
此外,现在我得到,“没有路线匹配[GET]”/ post/new“” – user11406