ユーザーがデータベースにデータを入力し、別のページでデータベースを検索できる Web サイトを作成しています。現時点では、新しいエントリの作成フォームは正常に機能し、検索をまだ実装していないため、テーブルを表示するための検索ページも正常に機能します。
コントローラ:
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:Class の未定義メソッド `model_name'
1行目のフォームビューから抽出されたソース:
<%= form_for(@project) do |f| %>
ほんの小さな問題だと思いますが、修正方法がわかりません。私はRuby on Railsが初めてなので、簡単に行ってください:)。
ありがとう!