

### 前提・実現したいこと

パーシャルのパーシャルにコントローラーのインスタンス変数を送りたいです。

### ★発生している問題・エラーメッセージ

投稿のタイムラインをクリックすると、  
Twitterのようなモーダルウィンドウが表示されるようにviewを作成しました。

モーダルウィンドウに表示される **view** (コメントが追加されます) ≒ クリックした投稿です。

一つのviewファイルで対応しますとかなりコードが読みづらくなりますので、パーシャルを置きました。

しかし、そのパーシャルを置いたviewファイルもパーシャルなので、変数がわたされなくなります。

結果、モーダルウィンドウには、内容などmicropostに関する情データが一切表示されなくなってしまいます。。。

【 **microposts/_micropost.html.erb** 】  
[![画像の説明をここに入力](https://i.stack.imgur.com/yugjJ.png)](https://i.stack.imgur.com/yugjJ.png)  
【 **microposts/_modal.html.erb** 】  
[![画像の説明をここに入力](https://i.stack.imgur.com/GlKDJ.png)](https://i.stack.imgur.com/GlKDJ.png)

【パーシャルの流れ】  
**index.html.erb → _user_index.html.erb → _micropost.html.erb →
_modal.html.html.erb**

※ **_micropost.html.erb** までは正常にデータが送られている。。。  
と思います。

### ★該当のソースコード

【 **page#index** 】

[code]

    @user = User.find_by(id: current_user.id)
    @microposts = current_user.feed.includes(:comments, :calls, :insists, :says)
    @micropost = current_user.microposts.build
    
[/code]

【 **_user_index.html.erb** 】

[code]

    <span class="index-microposts"><%= render partial: 'microposts/micropost', collection: @microposts, micropost: @micropost %></span>
    
[/code]

【 **_micropost.html.erb** 】

[code]

    <%= render 'microposts/modal', microposts: @microposts, micropost: @micropost %>
    
[/code]

【 **_modal.html.erb** 】

[code]

    <%= simple_format("#{markdown(micropost.content)}") %>
    
[/code]

よろしければ、変数の送り方を教えてください。  
そもそも、パーシャル多すぎなどのご指摘あればお願い致します。

マルチポスト  
[テラテイル](https://teratail.com/questions/56907)


CC BY-SA 3.0
2016-11-28T14:02:51.603
30753
2023-01-09T03:05:15.650
2020-06-17T08:14:45.997
-1
19459
question
ruby-on-rails bootstrap
パーシャルのパーシャルに変数を送る方法を教えてください。


以下のように `@micropost` から `micropost` に変更するとどうでしょうか？

`<%= render 'microposts/modal', microposts: @microposts, micropost: micropost
%>`


CC BY-SA 3.0
2017-04-15T03:27:17.527
34029
2017-04-15T03:27:17.527
22531
30753
answer