Rails传递对象到表单部分

问题描述 投票:0回答:1

rails 5, ruby 2.5

我正在尝试一些新的东西对我来说。在我的脑海中,它是有道理的,但它是不工作。 我想把一个 <form> 在我身上贴标签 newedit 视图,然后调用一个局部,它有其余的形式。我将 "实例变量"(正确的术语?f 使用 "实例变量"(正确的术语?:locals但在局部地区无法识别。

# new.html.erb

<% @page_title = "New Food Entry" %>

<%= form_for(@food) do |f| %>

  <%= render "form", :locals => { :f => f  } %> 

<% end %>
# _form.html.erb

<table cellpadding="2" cellspacing="0" style="border: 1px solid #369;" summary="Edit or new Food Record">

  <tr>                                                                        
    <td><label>Food Name</label></td>                                                   
    <td><%= f.text_field :food_item, :size => 30 %></td>
  </tr>
...

当我加载...foodnew时,我得到这个错误。

undefined local variable or method `f' for #<#<Class:0x00007fdb4c036428>:0x00007fdb342a3890

任何提示将是非常感激的。

ruby-on-rails-5 partials
1个回答
1
投票

根据 Rails文档. 请使用 <%= render partial: "form", :locals => { :f => f } %><%= render "form", :f => f %> 句法。

© www.soinside.com 2019 - 2024. All rights reserved.