최근에 나는 퀴즈 페이지를 결과 페이지로 가져 오려고 노력했습니다. (StanBoyet 덕분에 마침내 그것을 관리했다고 생각합니다).레일 :이 퀴즈 및 결과 페이지를 과도하게 조작 했습니까?
사용자 모델 및 컨트롤러가 있고 로그인 (Devise 사용)이 정상적으로 작동합니다. QuizAnswers 모델과 컨트롤러 및 모든 테이블이 데이터베이스에 있습니다. 나도 ResultsController
가있다. 내 퀴즈 형태로
Rails.application.routes.draw do
devise_for :users
root :to => 'home#index'
get "elearning" => "home#elearning"
get "howitworks" => "home#howitworks"
get "leadershipstyles" => "home#leadershipstyles"
get "whattypeofleader" => "quizzes#new"
get "showmetheskills" => "home#showmetheskills"
get "safeguarding" => "home#safeguarding"
get "toolsforthejob" => "home#toolsforthejob"
get "whatnext" => "home#whatnext"
get "congratulations" => "home#congratulations"
get "teamwork" => "home#teamwork"
get "facilitation" => "home#facilitation"
get "planning" => "home#planning"
get "communication" => "home#communication"
resources :quizzes
resources :results
resources :quiz_answers
resources :users do
resources :posts
end
end
, 내가합니다 (
QuizAnswers#new
작용에 의해 액세스 가능)
form_for @quiz_answers
을 통과 :
def new
@user = current_user
@quiz_answer = current_user.quiz_answers.build
end
(나는 또한 시도 여기
내routes.rb
(자원 주)입니다 , 대체,
@quiz_answer = QuizAnswer.new
)
제출을 클릭하면 QuizAnswers#create
동작이 실행되고
def create
redirect_to results_path
end
어떤 results#index
(ResultsController#index
행동)을 가리키는 (레이크 노선이 날을 말한다) I는 다음과 같이 설정 한 어떤 : 이런 그래도 제출을 클릭하면, 내가 받고 있어요
def index
# in order to access all the results in our view...
@results = QuizAnswer.find(current_user.id)
end
오류 :
가은 'ID'= 35
와 QuizAnswer를 찾을 수 없습니다 나는 두 가지 질문이 있습니다
current_user의 ID에 대한 참조로 새 QuizAnswers를 어떻게 설정합니까? (QuizAnswers에는 일반적인 id 특성과 user_id 특성이 있습니다.)
둘째,이 모든 것이 끔찍하게 설계되었거나 그냥 '레일스 방식'입니까? (내가 잘못하고 있다면, 어떻게하면 좋을지 설명해주십시오.)
OK로 변경해야합니다. 첫 번째 행은 해당 행에서 '해시를 정수로 변환 할 수 없습니다'라는 오류를 발생시킵니다. 두 번째 옵션은 오류를 발생시키지 않습니다. 거기에서 QuizAnswer 속성에 액세스하는 방법을 알아봐야 할 것입니다. BTW - 왜 기호가 끝에서 콜론을 사용하여 입력되는 경우가 있습니까? 그게 가장 놀라운 일은 아닌 것 같습니다 ... – moosefetcher
1. 고정 2. 그들은 해시의 끝에 콜론을 입력 할 수 있습니다. 'find (user_id : current_user.id)'는'find ({user_id => current_user.id})와 같은'find ({user_id : current_user.id})'와 같습니다. –
확인. 그 다중 구문은 모호함을 야기하는 것으로 보인다. 약간의 의미와 좌절. 하지만 고마워, 또! – moosefetcher