Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将局部变量传递给局部变量_Ruby On Rails_Ruby On Rails 3_Partials - Fatal编程技术网

Ruby on rails 将局部变量传递给局部变量

Ruby on rails 将局部变量传递给局部变量,ruby-on-rails,ruby-on-rails-3,partials,Ruby On Rails,Ruby On Rails 3,Partials,这已经被问了很多次了,但是在尝试了所有我能找到的解决方案之后,我没有更接近于我自己的解决方案 我有一个部分,\u表-以下是相关部分: <% @tournament.sub_tournaments.each do |sub| %> <%= f.fields_for :sub_tournaments, sub, :validate => false do |sub_form| %> ... <table> ...

这已经被问了很多次了,但是在尝试了所有我能找到的解决方案之后,我没有更接近于我自己的解决方案

我有一个部分,
\u表
-以下是相关部分:

<% @tournament.sub_tournaments.each do |sub| %>
  <%= f.fields_for :sub_tournaments, sub, :validate => false do |sub_form| %>
    ...
      <table>
        ...
        <tbody>
        <%= sub_form.fields_for :standings, :validate => false do |standings| %>
          <%= render 'tournaments/form_partials/standing_fields', f: standings, sub: sub %> #here's the problem
        <% end %>  
        </tbody>
      </table>
      ...
  <% end %>
<% end %>
它引用了
\u standing\u字段中的以下标记行
部分:

<tr>
  <td><%= f.hidden_field :_destroy %><%= f.text_field :standing, :class => "standing", readonly: true, :type => "" %></td>
  <% if Game::TEAM_GAMES.include? sub.game.name %> #here's the problem
    <td><%= f.grouped_collection_select(:team_division_id, Team.order(:name).includes(:team_divisions), :team_divisions, :name, :id, :game_name, include_blank: true)%></td>
  <% else %>
    <td><%= f.grouped_collection_select(:player_id, Player.order(:name).includes(:player), :player, :name, :id, :game_name, include_blank: true)%></td>
  <% end %>
  <td><span class="remove">Remove</span></td>
</tr>

“站立”,只读:true,:type=>“”%>
#问题出在这里
去除

我想不出哪里出了问题,我已经三次检查了语法、拼写、逗号等,并按照建议的解决方案重新启动了我的redis服务器和rails服务器

您必须将变量放入一个本地键中:

<%= render 'tournaments/form_partials/standing_fields', locals: {f: standings, sub: sub} %>


不是这样-一定是其他原因触发了这一点,因为如果我在
表单中注释掉有问题的行,我仍然会得到错误。无论如何-为什么
locals
key?我已经向一个分部提交了多个变量,但在其他上下文中没有它,它工作正常。?发现错误,这是一件完全不同的怪事-尽管你的答案对我提出的问题是正确的。如果你知道本地钥匙的必要性,请告诉我!
<%= render 'tournaments/form_partials/standing_fields', locals: {f: standings, sub: sub} %>