我正在学习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')
答案 0 :(得分:4)
我在这里可以看到两个错误:
首先,您应该使用=
代替-
来form_form
,确实=
将输出结果,而-
则不会。{/ p>
当form_for
返回表单的HTML时,您希望将其写在页面上;)
至于您的错误原因,我不完全确定,但似乎您的Car
模型没有body
字段,因此它没有{{ 1}}方法