我是 Rails 新手,因此我遵循入门指南,可在此处获得:http ://edgeguides.rubyonrails.org/getting_started.html和此处: http: //guides.rubyonrails.org/getting_started.html但我可以没有得到 5.6 / 5.7 的工作。
这是我的控制器:
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
end
private
def post_params
params.require(:post).permit(:title, :text)
end
end
这是我的表格:
<%= form_for :post, 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 %>
这是 routes.rb
Blog::Application.routes.draw do
get "welcome/index"
root 'welcome#index'
resource :posts
end
但是当我提交它时,我收到了这个错误:
NoMethodError in PostsController#create
undefined method post_url' for #<PostsController:0x007f733c415418>
提取源突出显示该行redirect_to @post
。我究竟做错了什么?我有 ruby 1.9.3 和 rails 4.0.0