この問題を続けます
しかし、もし私が望むならレンダリングでパラメータを渡すことができると誰かが私に言ったが、私はそれを行う方法がわからない、つまりここで
<%= render :file => "userscuentas/index" %>
@userscuentas をパラメーターとして渡すことができるので、本当に助けが必要です
ありがとう
この問題を続けます
しかし、もし私が望むならレンダリングでパラメータを渡すことができると誰かが私に言ったが、私はそれを行う方法がわからない、つまりここで
<%= render :file => "userscuentas/index" %>
@userscuentas をパラメーターとして渡すことができるので、本当に助けが必要です
ありがとう
レンダリングしようとしているファイルが部分的であると仮定して、これを試してください:
<%= render 'userscuentas/index', :userscuentas => @userscuentas %>
その後、パーシャルで変数にアクセスできますusercuentas
編集
パーシャルの場合、次のようにして nil エラーを回避します。
<% if !userscuentas.nil? %>
#Do whatever you have to do here
<% end %>
あなたのhttp://pastebin.com/PuX5JheJから
app/views/userscuentas/index.html.erb を変更します
<%= render "list", :userscuentas => @userscuentas %>
次に、このコードで app/views/userscuentas/_list.html.erb という新しいファイルを作成します
<% userscuentas.each do |userscuenta| %>
<tr>
<td><%= link_to userscuenta.id, userscuenta_path(userscuenta) %></td>
<td><%= userscuenta.nombre %></td>
<td><%= userscuenta.nro_cuenta %></td>
<td><%= userscuenta.tipo_cuenta %></td>
<td><%= userscuenta.user_id %></td>
<td><%=l userscuenta.created_at %></td>
<td>
<%= link_to t('.edit', :default => t("helpers.links.edit")),
edit_userscuenta_path(userscuenta), :class => 'btn btn-mini' %>
<%= link_to t('.destroy', :default => t("helpers.links.destroy")),
userscuenta_path(userscuenta),
:method => :delete,
:data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) },
:class => 'btn btn-mini btn-danger' %>
</td>
</tr>
<% end %>
app/views/users/layout_users.html.erb での呼び出し方法も変更する必要があります。また、(これを変更した後) @userscuentas 変数が、このビューを参照するコントローラー アクションに設定されていることを確認してください。
<li><a href="#tab4" data-toggle="tab">Cuentas</a></li>
<div class="tab-pane" id="tab4">
<p>
<%= render "userscuentas/list", :userscuentas => @userscuentas %>
</p>
</div>
アプリケーションの構造についてはちょっとわかりませんが、適切にレンダリングする前に @usersuentas 変数を設定する必要があるため、あなたの new.html.erb もパーシャルを呼び出す方法では機能しません。また、パーシャルではなく、ビューと呼んでいます。
アプリ/ビュー/ユーザー/new.html.erb
<%= render "userscuentas/list", :userscuentas => @userscuentas %>
これは、コントローラー側でも @userscuentas 変数を設定する必要があると想定しているため、
userscuentas_controller.rb
def new
@userscuentas = @user.userscuentas.all
@userscuenta = Userscuenta.new
end