-3

编辑页面:嵌入式 ruby​​ 的第一行给我带来了麻烦

编辑帖子

<%= form_for @post do |f|%> (this line is the problem)
  <p> 
    <%= f.label :title %>
    <%= f.text_field :title%>
  </p>
  <p>            
    <%= f.label :content %>
    <%= f.text_area :content%>
  </p>
  <p>
    <%= f.submit "Update post"%>
  </p>
<% end %>

看看edit post,是不是这个问题?好像我做对了everthimg,我就是想不通。

后控制器

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

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

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

   def create  
      @post = Post.new(post_params)

      if @post.save
         redirect_to posts_path, :notice => "your post was saved"
      else
         render "new"
      end
   end 

private

   def post_params
      params.require(:post).permit(:title, :content)
   end

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

1 回答 1

0

edit动作不可见,也不private执行。因此@postnil。将其移至private通话上方

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

private

def post_params
  params.require(:post).permit(:title, :content)
end
于 2013-12-13T05:40:38.130 回答