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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

2回答

1570閲覧

Rails 4件ずつ表示したい

NishidaRyu416_

総合スコア113

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2017/01/28 12:30

クイズサイトを製作中でこのように
4個ずつ表示しているのですが
コードは下記

ruby

1<%= form_tag(action: :create) do %> 2 <%= hidden_field_tag "count", @words.count %> 3 <%=render "tests/test_answer"%> 4 <table> 5 <%@value.in_groups_of(4,false).each.with_index(1) do|vals,num|%> 6 <tr> 7 <% vals.each do|val| %> 8 <td><label><%= "#{num}"%><%=val.answer%><%=radio_button_tag "#{num}",val.answer%></label><br><br></td> 9 <%end%> 10 </tr> 11 <%end%> 12 </table> 13 <%= submit_tag "Answer", class: "btn btn-large btn-primary" %> 14 <% end %>

更に
下記のようなコードを書きたいのですが4個ずつ表示できなくなるためできません

ruby

1 2<% @words.each.with_index(1)do |word, n| %> 3 <%if params['test_option'] == "練習"%> 4 <label for=<%= "#{n}"%>><%= "#{n}問目"%>:<%= eval("word.#{@question}")%> (正答: <%= eval("word.#{@answer}") %>)</label><br> 5 <%else%> 6 <label for=<%= "#{n}"%>><%= "#{n}問目"%>:<%= eval("word.#{@question}")%></label><br> 7 <%end%> 8 9 <%= hidden_field_tag "answer#{n}", eval("word.#{@answer}") %> 10 <% end %>

コントローラでは
意味としては@wordsに正解が入っている
@valueに不正解の回答と、正解の回答が入っている
@valueに正解があり

def test_group if params['groups_info'].present? ids=params['groups_info'].split(",") @words = Word.where(group_id:ids) if params['option'] == "通常" @question = 'question' @answer = 'answer' else @question = 'answer' @answer = 'question' end if params["test_mode"]=="選択" @value=[] @words.each do|word| @value<<[Word.all.sample(3),word] @value.flatten! puts @value end render 'selection_question' else render 'question' end end end

回答よろしくお願いします

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

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

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

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

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

guest

回答2

0

自己解決

すみません。解決済みです。
Viewのためのインスタンス変数を、コントローラ内にて自動生成することにより、実装。

投稿2017/02/08 08:58

NishidaRyu416_

総合スコア113

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

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

0

ビューで特定のindexが来たら繰り返しを抜けるか、通常はスコープを使って解決するかと思います。

http://qiita.com/nashirox/items/edf5e8e9e7b8fc6891d3

投稿2017/02/08 08:56

rox

総合スコア179

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

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

NishidaRyu416_

2017/02/08 08:59

回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問