每當我嘗試保存帖子時,都會顯示此錯誤。PostsController中的NoMethodError#創建未定義的方法`body'
這是我的new.html.erb
文件。
<div id="page_wrapper">
<h1>New Post</h1>
<%= form_for :post, url: posts_path do |f| %>
<% if @post.errors.any? %>
<div id="errors">
<h2><%= pluralize(@post.errors.count, "error") %> prevented this post from saving:</h2>
<ul>
<% @post.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<p>
<%= f.label :title %><br>
<%= f.text_field :title %><br>
</p>
<p>
<%= f.label :date %><br>
<%= f.text_field :date %><br>
</p>
<p>
<%= f.label :time %><br>
<%= f.text_field :time %><br>
</p>
<p>
<%= f.label :location %><br>
<%= f.text_field :location %><br>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
</div>
這是我的show.html.erb
文件。
<div id="page_wrapper">
<h1 class="title">
<%= @post.title %>
</h1>
<p class="date">
Submitted <%= time_ago_in_words(@post.created_at) %> Ago
</p>
<p class="time">
<%= @post.time %>
</p>
<p class="location">
<%= @post.location %>
</p>
</div>
這是我的posts_controller.rb
文件。
class PostsController < ApplicationController
def index
@posts = Post.all.order('created_at DESC')
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
def show
@post = Post.find(params[:id])
end
private
def post_params
params.require(:post).permit(:title, :body, :location)
end
end
赫斯是我routes.rb
文件
Rails.application.routes.draw do
resources :posts
root "posts#index"
end
分享您的schema.rb –
喜@pavan我schema.rb看起來像這樣,ActiveRecord的:: Schema.define(版本:20160812052026)做 CREATE_TABLE 「上崗」,力:級聯做| T | t.string 「稱號」 t.string 「日期」 t.string 「時間」 t.text 「位置」 t.datetime 「created_at」,空:假 t.datetime 「的updated_at」,空:假 結束 結束 – Bikal
@ArunKumar我有我的上述錯誤的截圖,它給了我NoMethodError在PostsController#創建 未定義的方法'身體」爲#<帖子:0x007f3b81a787f8>每當我保存後 – Bikal