Ruby on Rails没有在post上保存数据

时间:2011-09-18 11:58:12

标签: ruby-on-rails activerecord

我有CRUD,在创建新条目时,不会保存任何内容,也不会生成错误。我可以看到日志中发生的帖子。

控制器

  def new
    @article = Article.new
  end

  def create
    @article = Article.new(params[:article])
    if @article.save
      redirect_to @article
    else
      render :action => 'new'
    end
  end

模型

class Article < ActiveRecord::Base
    attr_accessible :title, :content end

路线

map.resources :articles

日志

Parameters: {"article"=>{"title"=>"Dive trip", "content"=>"hfigoo"}, "commit"=>"Save changes"}

任何帮助表示赞赏: - )

2 个答案:

答案 0 :(得分:3)

一个问题可能是它的验证失败了。但是,是的,根据代码,我看不到任何。你可以做这样的事情

首先检查请求是否来到create方法,放一个简单的puts命令就可以了。

如果请求来到方法,请使用@ article.save!而不是@ article.save,这将告诉你是否有任何验证错误

答案 1 :(得分:1)

$ script/console
> a = Article.new({"title"=>"Dive trip", "content"=>"hfigoo"})
  => #<Article:.....
> a.save

当您将a.save的回复视为=> false=> true时。如果执行了SQL,您应该能够在控制台中看到它。

如果你必须在heroku上运行它,你可以

$ heroku console

在heroku平台上获取rails控制台。