【发布时间】:2012-04-02 05:09:33
【问题描述】:
我正在尝试使用 form_for 标记保存名为“客户”的模型。我没有这个模型的控制器,我希望使用另一个“公共”控制器来完成这个任务。所以这是我的看法:
<%= form_for @customer do |f| %>
<div class="field">
<%= f.label :name %><br/>
<%= f.text_field :name %>
</div>
.... and then
<%= f.submit 'Order', :action => :save_order %><br/>
这是我的控制器
def check_out
@customer = Customer.new
end
def save_order
@customer = Customer.new(params[:customer])
credit_card_no = @customer.credit_card
@order = Order.new
@order.line_items << @cart.items
@customer.orders << @order
if @customer.save
# process credit card
@cart = nil
redirect_to(:action => :show_bill, :id => @order.id)
else
flash[:notice] = 'Could not process your credit card information'
render(:action => :check_out)
end
end
视图是从动作“check_out”加载的,它应该转到动作“save_order”,但我在视图中看到“form_for”代码错误,我做错了什么?但是如果我为“客户”创建一个控制器或脚手架并尝试使用它,我会被重定向到“客户/显示/:id”路径,我不想要那个。
【问题讨论】:
-
请发布错误信息。
-
#:0x8b428e8> 的未定义方法 `customers_path'
标签: ruby-on-rails-3