質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.44%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

1回答

180閲覧

rails インスタンス変数

tom._

総合スコア7

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/03/27 08:06

def index
@tweets =Tweet.page(params[:page]).per(40)
@tweetss =Tweet.where(id :30)
end
このようにテーブルから値を取得する時に条件を分けて取得しこのインスタンス変数をビューで使うことはできますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

このインスタンス変数をビューで使うことはできますか?

できます。

投稿2020/03/27 08:10

maisumakun

総合スコア145332

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tom._

2020/03/27 08:18

このようにするとなぜかこのようなエラーが出ます。syntax error unexpected tINTEGER expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAG or tSTRING END
maisumakun

2020/03/27 08:23

「Tweet.where(id :30)」ではなくて「Tweet.where(id: 30)」です。スペースの位置が違います。
maisumakun

2020/03/27 08:23

(エラーが出ているのなら、質問の時点でその旨を書いてほしかったです)
tom._

2020/03/27 08:27

すいません。そのように書いたらNoMethodError in TweetsController#index undefined method `    ' for #<TweetsController:0x00007f1e3c137d18>次はこのようなエラーが出ました。
maisumakun

2020/03/27 08:39

どこかに全角スペースが紛れ込んでいるようです。
tom._

2020/03/27 08:43

確認してもダメでした。。
tom._

2020/03/27 08:48

エラーは出なくなりましたがビューに反映されません。
maisumakun

2020/03/27 09:02

ビューの実装はどのようなものでしょうか?
tom._

2020/03/27 10:31

もう一つ質問上げてるんですけどそちらを見ていただけたら幸いです。
tom._

2020/03/27 10:36

タブメニューが効かないってやつです。
maisumakun

2020/03/27 11:00

> ビューに反映されません。 @tweetssをビューで使っていませんので、そちらが反映される余地はありません。
tom._

2020/03/27 11:02

<div class="two">   <% @tweetss.each do |tweet| %>    <a href="/tweets/<%= tweet.id %>"><div class="col6">      <span id="week"><%= tweet.week %></span> <span id="subject"><%= tweet.subject %></span> <span id="name"><%= tweet.name %></span> </div></a> <% end %>    </div> このように使っています。なのに反映されません。タブメニューの中以外だと反映はされます。
maisumakun

2020/03/27 11:07 編集

@tweetssと@tweets、どちらが正しいのですか? (別に使いたいのであれば、両方がビューの中に書かれていないとおかしいです)
tom._

2020/03/27 11:08

div class="one">     <% @tweets.each do |tweet| %>    <a href="/tweets/<%= tweet.id %>"><div class="col6">      <span id="week"><%= tweet.week %></span> <span id="subject"><%= tweet.subject %></span> <span id="name"><%= tweet.name %></span> </div></a> <% end %> </div>    <div class="two">   <% @tweetss.each do |tweet| %>    <a href="/tweets/<%= tweet.id %>"><div class="col6">      <span id="week"><%= tweet.week %></span> <span id="subject"><%= tweet.subject %></span> <span id="name"><%= tweet.name %></span> </div></a> <% end %>    </div> 両方使いたいです。
maisumakun

2020/03/27 11:09

「反映されない」とは、具体的に「どうなる」のですか? (HTMLは意図通り出力されているけど、JavaScriptなどがおかしい、という事も考えられます)
tom._

2020/03/27 11:12

そもそも表示されないということです。最初の方しか表示されません。最初の方の表示されますが次のタブをクリックして最初のタブの方をクリックするとその最初表示されていた中身は表示されなくなっています。リロードすればまた表示されるようになります。
maisumakun

2020/03/27 11:13

> そもそも表示されないということです。 それは「HTMLソースレベル」ではどうなっていますか?
tom._

2020/03/27 11:17

ちゃんと表示されてることになっています。
maisumakun

2020/03/27 11:19

でしたらそれはJavaScript、CSSの問題です。Railsの仕事はHTMLを作るところまでなので、そこは「正常」ということになります。
tom._

2020/03/27 12:03

function tab_menu_button() { function tab_menu() { $("li").removeClass("selected"); $(this).addClass("selected") $(".contets_list div").hide() $("." + this.id).show() } $("li").on("click", tab_menu); } window.addEventListener("turbolinks:load",tab_menu_button); jqueryはこれです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.44%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問