2015-06-06 2 views
1

Я создаю приложение для викторины для окончательного проекта, и на следующей неделе я изо всех сил пытаюсь преобразовать массив в список строк.Как преобразовать массив из psql databse в список строк?

Анкета модели:

class Questionnaire < ActiveRecord::Base 

    belongs_to :categories 

end 

Chose_answer.html.erb

<h1>Congrats You Hit The Choices Page!</h1> 

<%= semantic_form_for @questions.choices do |c| %> 

    <%= c.inputs do %> 

    <%= c.input :choices, :as => :check_boxes , :collection => 
    [@questions.choices].map(&:inspect).join(', ') %> 

    <% end %> 

<% end %> 

Анкета Контроллер:

class QuestionnairesController < ApplicationController 

    def index 

    @questions = Questionnaire.find(params[:category_id]) 
    #params[:category_id]= <%=category.id%> 
    @category = Category.find(params[:category_id]) 
    @videos = VideoClue.find(params[:category_id]) 
    ###This finds all the questions from the question table by their category_id. Whenever I select a category, it matches the question related to the category 

    render :show 
    ###render :show Renders Html page 
    end 

    def choose_answer 
    # binding.pry 
    @questions = Questionnaire.find(params[:id]) 
    #params[:id] = /:id = /1 


    render :choose_answer 
    end 

Опросный таблица семян:

Questionnaire.create({question: "In that year did MTV (Music Television) 

premiere and what was the first music video the channel aired?", choices: 

["1982 Michael Jackson 'Bille Jean'", "1984 Madonna 'Like a virgn'", "1981 

The Buggles 'Video Killed The Radio Star'"], correct_answer:"1981 The 

Buggles 'Video Killed The Radio Star' ", category_id:1}) 

@ question.choices возвращает

["1982 Michael Jackson 'Bille Jean'", "1984 

Madonna 'Like a virgin'", "1981 The Buggles 'Video Killed The Radio Star'"], 

Я хочу, чтобы преобразовать "выборы" в список. Я хочу использовать formtastic, чтобы превратить их в несколько вариантов. Как мне это сделать? Пожалуйста, мне нужен кто-то, чтобы помочь ответить на это, потому что я действительно хочу завершить свой проект вовремя и заставить его работать.

+1

Ваша ассоциация должна быть 'belongs_to: category' –

+0

Имя моей таблицы базы данных называется категории. Почему это должна быть категория? –

+0

association_to ассоциация должна всегда быть уникальной, а не плюрализованной. –

ответ

0

Проверьте документацию here. Вы можете передать массив в качестве коллекции:

<%= c.input :choices, :as => :check_boxes , :collection => @questions.choices %>

+0

Не работает. Он возвратил неопределенную ошибку «map» –

+0

, что возвращает '@ question.choices'? Вы можете проверить данные образца '<% = c.input: choice,: as =>: check_boxes,: collection => [" 1982 Michael Jackson 'Bille Jean' "," 1984 Madonna "Как девственница", "1981 Видео Buggles Killed The Radio Star '"]%>' – AbM

+0

Он возвращает сам массив. –

 Смежные вопросы

  • Нет связанных вопросов^_^