我有一个orders控制器,在我的new.html.haml controller视图中,我正试图将_for m部分呈现为address
订购new.html.haml

= render "/addresses/form"

地址:form.html.haml
= form_for @address do |f|
  - if @address.errors.any?
  #error_explanation
    %h2= "#{pluralize(@address.errors.count, "error")} prohibited this address from being saved:"
    %ul
      - @address.errors.full_messages.each do |msg|
        %li= msg

  .field

   # All the form fields

  .actions
    = f.submit 'Save'

我发现了这个错误
First argument in form cannot contain nil or be empty

最好的解决办法是什么?我想创建一个部分只是为了这个,但我不认为创建另一个形式的部分将符合干。
提前多谢了

最佳答案

这个错误的原因是@addressnil
要修复此问题,需要在控制器中实例化

# orders_controller.rb
def new
  @address = Address.new
end

def edit
  @address = Address.find params[:id]
end

关于ruby-on-rails - 在不同的 Controller 中渲染部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24871224/

10-08 23:09
查看更多