title: Rails record not saving
body: <p>I'm having a pretty non-verbose error when trying to save a record (using Rails 4, Ruby 2.0.0).</p>
  
  <p>This is what happens.</p>
  
  <pre><code>2.0.0p0 :001 &gt; Startup
   =&gt; Startup(id: integer, name: string, url: string, founded: date, mal: boolean,
              created_at: datetime, updated_at: datetime, creator: string, 
              description: text, category: text) 
  
  2.0.0p0 :002 &gt; @s = Startup.new(:name =&gt; "New Startup", 
                                  :url =&gt;  "http://newstartup.com", 
                                  :founded =&gt; Date.today,
                                  :mal =&gt; false, 
                                  :creator =&gt; "127.0.0.1", 
                                  :description =&gt; "This is a description", 
                                  :category =&gt; ["","Sports"])
   =&gt; #&lt;Startup id: nil, name: "New Startup", url: "http://newstartup.com", founded: "2013-04-25", mal: false, created_at: nil, updated_at: nil, creator: "127.0.0.1", description: "This is a description", category: ["", "Sports"]&gt; 
  
  2.0.0p0 :003 &gt; @s.save
     (0.2ms)  BEGIN
     (0.3ms)  ROLLBACK
   =&gt; false 
  </code></pre>
  
  <p>This is my model:</p>
  
  <pre><code>class Startup &lt; ActiveRecord::Base
    before_validation(:on =&gt; :create) do
      self.mal = false
    end
  
    attr_accessible :name, :url, :description, :category, :creator, :mal, :founded
  end
  </code></pre>
  
  <p>schema:</p>
  
  <pre><code>create_table "startups", force: true do |t|
    t.string   "name"
    t.string   "url"
    t.date     "founded"
    t.boolean  "mal"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.string   "creator"
    t.text     "description"
    t.text     "category"
  end
  </code></pre>
  
  <p>and controller:</p>
  
  <pre><code>class StartupsController &lt; ApplicationController
    before_action :set_startup, only: [:show, :edit, :update, :destroy]
    before_create :set_creator
  
    # GET /startups
    # GET /startups.json
    def index
      @startups = Startup.all
    end
  
    def land
      @startup = Startup.new
      @resource = User.new
      @devise_mapping = Devise.mappings[:user]
    end
  
    # GET /startups/1
    # GET /startups/1.json
    def show
    end
  
    # GET /startups/new
    def new
      @startup = Startup.new
    end
  
    # GET /startups/1/edit
    def edit
    end
  
    # POST /startups
    # POST /startups.json
    def create
      @startup = Startup.new(startup_params)
  
      respond_to do |format|
        if @startup.save
          format.html { redirect_to @startup, notice: 'Startup was successfully created.' }
          format.json { render action: 'show', status: :created, location: @startup }
        else
          format.html { render action: 'new' }
          format.json { render json: @startup.errors, status: :unprocessable_entity }
        end
      end
    end
  
    # PATCH/PUT /startups/1
    # PATCH/PUT /startups/1.json
    def update
      respond_to do |format|
        if @startup.update(startup_params)
          format.html { redirect_to @startup, notice: 'Startup was successfully updated.' }
          format.json { head :no_content }
        else
          format.html { render action: 'edit' }
          format.json { render json: @startup.errors, status: :unprocessable_entity }
        end
      end
    end
  
    # DELETE /startups/1
    # DELETE /startups/1.json
    def destroy
      @startup.destroy
      respond_to do |format|
        format.html { redirect_to startups_url }
        format.json { head :no_content }
      end
    end
  
    private
      # Use callbacks to share common setup or constraints between actions.
      def set_startup
        @startup = Startup.find(params[:id])
      end
  
      def set_creator
        @startup.creator = request.remote_ip
      end
  
      # Never trust parameters from the scary internet, only allow the white list through.
      def startup_params
        params.require(:startup).permit(:name, :url, :added, :founded, :mal, :creator, :description, {:category =&gt; []})
      end
  end
  </code></pre>
  
  <p>I only started getting this problem when I wanted to switch <code>Startup.category</code> from string to list of strings.</p>
  
  <p>What am I doing wrong or where can I find more error information?</p>