현재 프로젝트를위한 준 소형 루비 앱을 만들고 있습니다. 현재 직면하고있는 문제는 다음과 같습니다.내 레일 앱에서 내 기사에 카테고리 추가 (작은 도움)
기사를 카테고리에 맞게 만들 수 있어야합니다. 나는 이미 두 가지 모델을 가지고 이것을 수행했습니다. category_id의 외래 키와 카테고리 이름이 포함 된 내 카테고리 모델이있는 기사 모델입니다. has_one 및 belogs_to 관계. (우리는 당신이 한 범주에만 기사를 넣을 수 있다고 가정합니다). 여기에 코드 조각이 있습니다.
이것은 새 기사를 만들고 모든 카테고리를로드하는 새로운 방법입니다.
def new
@article = Article.new
@categories = Category.find(:all)
end
문제는 기사와 함께 삽입하기 위해 카테고리를 콤보 상자에서 가져 오려고 할 때 발생합니다.
이
콤보 상자 코드 :f.select(:category_id,@categories)
그리고 이것은 만드는 방법입니다 : 내가로드하려고 할 때
def create
@category = Category.find(params[:id])
@article = @category.articles.new(params[:article])
if @article.save
flash[:notice] = "Article Submitted Sucessfully"
redirect_to user_path
else
render :action => 'new'
end
end
나는 내가 가지고있는 문제는이 라인에 있음을 믿는다 이 카테고리를 하드 코드 할 때마다 선택한 카테고리 "@category = Category.find (params [: id])"가 표시됩니다.
@category = Category.find(1)
완벽하게 작동합니다.
어떤 이유로 든 계속 "정의되지 않은 메소드'stringify_keys '" 선택 라인에서. :/ – Gotjosh
죄송합니다. 메모리에서 빠져 나와 잘못된 기능을 사용했습니다. 실제 문서를 기반으로 답변을 수정했습니다. – Tilendor
그게 효과가 있었어! :] 당신은 대답이 제 것보다 훨씬 낫습니다. :) 그냥 과 선택을 교체 <: 기사 : CATEGORY_ID, @categories : ID : % = collection_select 이름 %> 하고 완벽하게 끝에서 해당 객체에 대한 필요가 작동하지 않습니다 – Gotjosh