현재 Ruby on Rails v4 응용 프로그램을 작성 중입니다.응용 프로그램을 로컬에서 실행할 때 STI가 발생합니다
두 buyer
및 seller
에 대해 하나의 테이블 상속을 만들었으며 기본 user
테이블을 상속 받았습니다. 이후 localhost : 3000에서 응용 프로그램을 실행할 때 문제가있는 것으로 보입니다.
내가 브라우저 페이지에서 다음과 같은 오류 얻을 새 사용자로 가입하는 경우 :
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">`
라인 # 84 : 여기
NoMethodError in Home#main
Showing /Users//Development/secret-project/app/views/layouts/home.html.erb where line #84 raised:
undefined method `seller' for User: 0x00000105714bb0
을 home.html.erb의 코드입니다<%= render_navigation :context => (current_user.blank? ? :guest : :user) %> <%= render_navigation :expand_all => true, :context => :auth %> </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid -->
브라우저는 다음과 같은 세부 사항을 제공합니다.
app/views/layouts/home.html.erb:84:in '_app_views_layouts_home_html_erb___4408338611430956041_2173428480'
app/controllers/home_controller.rb:7:in `main'
home_controller 코드는 다음과 같습니다
class HomeController < ApplicationController
def main
@search = Search.new
@jobs = Product.where("")
render :layout => 'home'
end
def index
page = params.has_key?(:page)? params[:page].to_i : 1
per_page = 20
end
def contact
redirect_to :contact
end
end
는 어떻게 업데이트되거나하지 않은? 제가 해결할 수있는 유일한 것은 84 줄이 잘못되었습니다. 그들은 기본적으로 Seller
로 저장되지 않은 새 사용자를 만들 때
<%= render_navigation :context => (current_user.blank? ? :guest : :user : :seller : :buyer) %>
이 나를 혼란 것입니다 : 나는 그것을 변경해야 할 수 있습니다 생각하고 있어요.
내 변경 사항이 의미가 있거나 잘못된 위치에 있습니까?
스택 오버플로에 오신 것을 환영합니다. 기억해야 할 점은 스택 오버플로는 소셜 사이트가 아닌 참조 사이트라는 것입니다.질문 할 때 서식의 평균 모양과 느낌을 따르고 이모티콘을 신경 쓰지 마십시오. 약간 더 친절하고 부드러운 백과 사전이나 Wikipedia의 라인을 따라 생각해 보면 잘 할 수 있습니다. –
'render_navigation'은 어디에서 왔습니까? – nicooga
@nicooga 전체 응용 프로그램 폴더 내에서 코드를 검색 할 때 내보기 파일 중 2 개만 표시됩니다. 어떤 종류의 내장 명령이 아닌가? – RubyMax