HAML和form_for中的错误

时间:2012-10-30 19:37:28

标签: ruby-on-rails haml

我正在学习HAML,我遇到了from_for

的问题
%b New Advert!

- form_for @car, :url => { :action => "create" } do |f|
  = f.text_field :body 
  = f.submit t('advert.form.save')

我的控制器advert_controller

class AdvertController < ApplicationController
  def new
    @car = Car.new
  end

  def create
    @car = Car.new(params[:car])
  end
end

我的模型car.rb

class Car < ActiveRecord::Base
  attr_accessible :title, :body
end

但我有一个错误:

的未定义方法`body'

广告中的NoMethodError#new

显示/my_project/app/views/advert/new.html.haml第4行引出

带有'='的

UPD form_for不起作用

= form_for @car, :url => { :action => "create" } do |f|
      = f.text_field :body 
      = f.submit t('advert.form.save')

1 个答案:

答案 0 :(得分:4)

我在这里可以看到两个错误: 首先,您应该使用=代替-form_form,确实=将输出结果,而-则不会。{/ p>

form_for返回表单的HTML时,您希望将其写在页面上;)

至于您的错误原因,我不完全确定,但似乎您的Car模型没有body字段,因此它没有{{ 1}}方法