params.require(:article).permit(:name,:story)没有映射到db

时间:2014-11-29 09:13:28

标签: ruby-on-rails

我正在学习Rails,我正在写博客。我遇到的问题是表单的某个字段没有映射到数据库。当我保存新文章时,名称映射到数据库而不是故事。我最终在数据库中有一个空列。

我的迁移

class CreateArticles < ActiveRecord::Migration
  def change
    create_table :articles do |t|
      t.string :name
      t.text :story

      t.timestamps
    end
  end
end

形式/ new.html.erb

<h1>New Article</h1>

<%= form_for :article, url: articles_path do |f| %>
  <p>
    <%= f.label :name %><br>
    <%= f.text_field :name %>
  </p>

  <p>
    <%= f.label :story %><br>
    <%= f.text_area :story %>
  </p>

  <p>
    <%= f.submit %>
  </p>
<% end %>

控制器

class ArticlesController < ApplicationController
  def new 
  end

  def create
    @article = Article.new(article_params)
    @article.save
    redirect_to @article
  end

  def show
    @article = Article.find(params[:id])
  end

  private

    def article_params
      params.require(:article).permit(:name, :story)
    end
end

1 个答案:

答案 0 :(得分:1)

使用调试器gem并检查params是否正确如果你能分享devlopment.log

那将是好事。