저는 레일을 처음 접했고 약간의 문제가 있습니다. 나는 얻고있다
undefined local variable or method `answer'
내 _answer.html.erb 부분에 오류가 있습니다.
내 answers_controller.rb는 다음과 같습니다.
class AnswersController < ApplicationController
before_action :set_answer, only: [:show, :edit, :update, :destroy]
def index
@question = Question.find params[:question_id]
@question.answers
end
def show
end
def new
@question = Question.find params[:question_id]
end
def edit
end
def create
@question = Question.find(params[:question_id])
@answer = @question.answers.create(answer_params)
respond_to do |format|
if @answer.save
format.html { redirect_to @comment, notice: 'Answer was successfully created.' }
format.json { render action: 'show', status: :created, location: @answer }
else
format.html { render action: 'new' }
format.json { render json: @answer.errors, status: :unprocessable_entity }
end
end
end
def update
respond_to do |format|
if @answer.update(answer_params)
format.html { redirect_to @answer, notice: 'Answer was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: 'edit' }
format.json { render json: @answer.errors, status: :unprocessable_entity }
end
end
end
def destroy
@answer.destroy
respond_to do |format|
format.html { redirect_to answers_url }
format.json { head :no_content }
end
end
및 내 _answer.html.erb 파일 :
<%=div_for(answer) do %>
<div class="questioncontainer">
<p>
<%= answer.body %>
</p>
</div>
<% end %>
중요한 경우 내 리소스 : answers는 리소스 : questions에 중첩됩니다.
도움을 주셔서 감사합니다!
div_for(@answer)
대신을 사용해보십시오 answer
. 컨트롤러와 뷰간에 통신 할 때 항상 @variables
. 시간을내어 http://guides.rubyonrails.org/layouts_and_rendering.html을 읽어보십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다