1

助けてくれてありがとう!!

私は最初のRailsアプリを構築していますが、この問題があります:

「Expediente」というクラスの足場を作成しました.index.html.erbから@expedientesにアクセスできますが、new.html.erbからはできません.

コードは次のとおりです。

//index.html.erb、これは素晴らしい実行です: . . .

    <% @expedientes.each do |expediente| %>

    <tr>
    <td class="custom"> <%= expediente.id %> </td>

    <td class="custom"> <%= expediente.tipo_expediente %> </td>

    <td class="custom">

<% expediente.pacientes.each do |paciente| %>

    <%= paciente.nombre_completo %><br/>
<% end %>

. . .

//new.html.erb、これはまったく機能せず、nil:NilClass エラー メッセージに対して未定義のメソッド `each' を送信します。

. . .

      <% @expedientes.each do |expediente| %>

      <%if expediente.individual?%>

      <% expediente.pacientes.each do |paciente| %>

     <option value=126><%= paciente.nombre_completo %></option>

     <%end%>

     <%end%>  

     <%end%>

. . .

再びあなたの助けに感謝します!!

4

3 に答える 3

2

ExpedientesControllerのインデックスアクション(index.html.erbビューをレンダリングする)は変数@expedientesを定義しますが、新しいアクション(new.html.erbビューをレンダリングする)は定義しないためです。

于 2012-11-29T06:22:37.490 に答える
0

コントローラでのアクションは、 ExpedientesNewクラスの単一のインスタンスを構築するため、で繰り返すことができるコレクションではありませんeach

于 2012-11-29T06:22:26.913 に答える
0

上記の2つの答えを組み合わせるには、インデックスメソッドでは次のようなものがあるかもしれません

@expedientes = Expediente.all 

あなたが持っている新しい方法で

@expedient = Expediente.new

これを新しいメソッドに追加します

@expedientes = Expediente.all  

最後の

def new 
    @expedient = Expediente.new
   @expedientes = Expediente.all  
end
于 2012-11-29T06:37:13.903 に答える