I'm going back to your original message. The answer that you got from
Craig had you changing the view, but ALL that you needed to do was fix
the line in the create action to replace :product with :sfile (since
the class of the object in the form is Sfile)
-Rob
On Jul 31, 2009, at 10:46 AM, Gabriel Bianconi wrote:
> Hello. I created a form and it always throw the 'Title can't be blank'
> error, even if I filled it.
>
> What is wrong?
>
> Thanks,
>
> Gabriel.
>
> ----------------------------
>
This is what your view should look like:
> # new.html.erb
> <h1>Welcome</h1>
>
> <% form_for(@sfile) do |f| %>
> <%= f.error_messages %>
>
> <p>
> <%= f.label :title %><br />
> <%= f.text_field :title %>
> </p>
> <p>
> <%= f.label :description %><br />
> <%= f.text_area :description %>
> </p>
> <p>
> <%= f.submit 'Create' %>
> </p>
> <% end %>
>
> ----
>
> # sfile.rb
> class Sfile < ActiveRecord::Base
> validates_presence_of :title
> end
>
>
> ---
>
> # sfiles_controller.rb
> class SfilesController < ApplicationController
> def new
> @sfile = Sfile.new
> end
>
> def create
> @sfile = Sfile.new(params[:product])
Just change this line to:
@sfile = Sfile.new(params[:sfile])
> respond_to do |format|
> if @sfile.save
> flash[:notice] = 'File was successfully
> created.'
> format.html { redirect_to(@sfile) }
> else
> format.html { render :action => "new" }
> end
> end
> end
>
> def show
> @sfile = Sfile.find(params[:id])
> end
> end
Rob Biedenharn http://agileconsultingllc.com
[email protected]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---