사용자가 데이터베이스에 데이터를 입력 할 수있는 웹 사이트를 만들고 다른 페이지에서 데이터베이스를 검색 할 수 있습니다. 지금은 검색을 아직 구현하지 않았으므로 새 항목 양식을 만드는 것이 좋습니다. 표를 표시하는 검색 페이지도 마찬가지입니다.Ruby on Rails : 정의되지 않은 메소드, 컨트롤러 메소드의 오류
컨트롤러 :
def search
@project_search = Project.order(sort_column + " " + sort_direction)
end
private
def sort_column
Project.column_names.include?(params[:sort]) ? params[:sort] : "project_name"
end
def sort_direction
%w[asc desc].include?(params[:direction]) ? params[:direction] : "asc"
end
def create
@project = Project.new(params[:project])
@project.client = params[:new_client] unless params[:new_client].blank?
@project.exception_pm = params[:new_exception_pm] unless params[:new_exception_pm].blank?
@project.project_owner = params[:new_project_owner] unless params[:new_project_owner].blank?
@project.role = params[:new_role] unless params[:new_role].blank?
@project.industry = params[:new_industry] unless params[:new_industry].blank?
@project.business_div = params[:new_business_div] unless params[:new_business_div].blank?
respond_to do |format|
if @project.save
format.html { redirect_to @project, notice: 'Project was successfully created.' }
format.json { render json: @project, status: :created, location: @project }
else
format.html { render action: "new" }
format.json { render json: @project.errors, status: :unprocessable_entity }
end
end
end
내가 검색 방법을 주석
, 내 입력 양식은 다음 작동하지만, 그들은 모두있을 때, 나는이 오류가 발생합니다.정의되지 않은 메서드 NilClass에 대한`MODEL_NAME ': 클래스
추출 소스 라인 1에서 내 양식보기에서 : 나는 그냥 작은 문제이지만, 내가 볼 수 없습니다 생각
<%= form_for(@project) do |f| %>
그것을 해결하기 위해. 레일에서 루비를 처음 접해서 쉽게 갈 수 있습니다 :).
감사합니다.
그게 문제였습니다. 나는 '사적'을 삭제했다. 나는 정말로 그것을 필요로 했는가? 당신의 도움을 많이 주셔서 고마워요. – Jazz
당신은 아마 그것을 필요로 할 것입니다, 그것은 단지 사적인 것으로 간주되기 때문에 모든 것이 끝나야 만합니다. – Hugo
@ JamesMcL13 나는 개인 (예 : sort_column) 아래에 컨트롤러 도우미 메서드를 넣을 것이다. 레일스와 루비에 대한 더 많은 경험을 얻으면서, 무엇이 프라이빗이되어야하는지, 메소드가 어떻게되어야하는지 등을 알아낼 것입니다. 나는 당신이 확실히 올바른 길에 있다고 생각하며, 경험을 통해 이러한 것들을 파악할 것입니다. –