У меня есть таблица рабочих пользователей. Я создал новую таблицу, используя:Rails: ссылка на новую ошибку металирования модели
rails generate model quiz_answers
..и запустить грабли DB: перенастройки
Мой файл CreateQuizAnswers миграции выглядит следующим образом:
class CreateQuizAnswers < ActiveRecord::Migration
def change
create_table :quiz_answers do |t|
t.references :user, index: true
t.string :answer1
t.string :answer2
t.string :answer3
t.string :answer4
t.string :answer5
t.string :answer6
t.string :answer7
t.string :answer8
t.timestamps
end
end
end
У меня есть модель quiz_answer:
class QuizAnswer < ActiveRecord::Base
belongs_to :user
end
и QuizAnswersController:
class QuizAnswersController < ApplicationController
def new
@user = current_user
@quiz_answer = current_user.quiz_answer.build
end
private
def post_params
params.require(:quiz_answer).permit(:body, :user_id)
end
end
Я добавил: quiz_answers как ресурс в routes.rb
Edited вопрос:
Почему, тогда, когда я пытаюсь создать форму (с помощью Завещание) я получить ошибку «неопределенный метод« тело »для ... (со ссылкой на QuizAnswer здесь)»? У меня есть еще одна модель «Почта», которая не генерирует эту ошибку и не имеет атрибута «тело».
страница, где я пытаюсь построить форму является домом/whattypeofleader.html.erb и, в routes.rb у меня есть:
get "whattypeofleader" => "home#whattypeofleader"
И в моем HomeController у меня есть:
class HomeController < ApplicationController
def index
end
def whattypeofleader
@user = current_user
@quiz_answer = current_user.quiz_answer.build
end
end
Что я делаю неправильно? Любая помощь отчаянно ценилась, спасибо.
О, и в случае, если вам это нужно, вот код формы, частично, что получает «оказывается» в whattypeofleader:
<%= form_for([current_user, @quiz_answer]) do |f| %>
<p>
<%= f.text_area :body, :autofocus => true , :class => "elearning-input"%>
</p>
<p>
<%= f.submit("Save entry") %>
</p>
<% end %>
Вы добавили has_many в пользовательскую модель? – Mandeep
У меня есть has_many: quiz_answers у пользователя.гь – moosefetcher
@moosefetcher, то вы хотите 'current_user.quiz_answers.build' - pluralised –