查看不显示数据

时间:2012-12-25 15:07:36

标签: ruby-on-rails ruby

我在app/views/posts/index.html.erb中有以下视图:

<% @posts.each do |post| %>

<%= post.user %> is listening to <%= post.song %> by <%= post.artist %> from <%= post.album %>

<% end %>

和相应的控制器:

class PostsController < ApplicationController
  def index
    @posts = Post.find(:all)   
  end

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

  def new
    @post = Post.new           
  end

  def create                   
    @post = Post.new(params[:posts])
    if @post.save              
      redirect_to action: "index"     
    else                       
      @posts = Post.find(:all) 
      render action: 'new'     
    end
  end
end

问题是,当我创建一个歌曲属性为“The Set of Settling”的歌曲时,艺术家属性为“Cutie for Cutie”,而专辑atrribute为“Transatlanticism”,当我渲染时没有任何内容出现索引视图。

2 个答案:

答案 0 :(得分:1)

正如@ house9和@bdares所说,我:posts行动create时应该是:post

答案 1 :(得分:1)

对于这种情况,command line非常宝贵。

$ rails console

然后玩,插入一些数据,取一些。从这里出现的问题开始:

> @posts = Post.find(:all)
> pp @posts

没有结果?根本没有帖子。可能是因为插入问题:

> @post = Post.new({:user => 1, :song => "give it up", :artist => "rick", :album => "youtube greatest hits"})
> @post.valid?
> pp @post.errors
> @post.save!

它允许您事先消除大多数问题。