No, it shouldn't have anything to do with the RESTful-ness of you application.
--wpd
No, it shouldn't have anything to do with the RESTful-ness of you application.
--wpd
Patrick Doyle wrote:
Pål Bergström wrote: [...]
def create @customer = Customer.new if @customer.save flash[:notice] = "Nytt konto skapat" redirect_to :controller => 'basket' end
end
And this in model
validates_presence_of :first_name, :email
I can't get it right. I now get "Missing template customer/create.erb in view path app/views" when trying to save without :first_name
Of course. Your controller code is incorrect. Note that, in the create action, the redirect is only called if @customer.save is true. If validations fail, @customer.save is false, so Rails will try to render the view of the same name as the action ( create.html.erb ). That doesn't exist, so you get an error.
I highly recommend using make_resourceful for your controllers. It will make problems like this easier to avoid.
Best,
Marnen Laibow-Koser wrote:
Pål Bergström wrote:
I highly recommend using make_resourceful for your controllers. It will make problems like this easier to avoid.
What does make_resourceful mean?
Type it into Google. You'll be amazed how good their answer is.
I'll save you the trouble. Here's the project page: http://github.com/hcatlin/make_resourceful
Good luck.
Pål Bergström wrote:
Pål Bergström wrote:
Does it matter, for the error_message_for to be displayed, if I use form_tag or form_for?
You're completely ignoring the advice that Marnen and Patrick gave. Your Create controller method is incorrect. You're not handling the case when the save method fails (due to validation errors). Re-read what Marnen posted about what happens when @customer.save returns false, and compare your create method with Patrick's...