0
생성 된 스캐 폴드가있는 Ruby on Rails 애플리케이션이 있습니다. 이제 그 중 하나에서 초기에 계획되지 않은 매개 변수를 추가해야합니다.Rails scaffold 매개 변수가 허용되지 않습니다.
상황에는 두 개의 개체 (차단 및 키워드)가 있습니다. 그들 사이의 관계는 has_and_belongs_to_many
입니다. 따라서 많은 키워드를 여러 블록과 연관시킬 수 있으며 그 반대도 마찬가지입니다. 생성 중에 개체 블록에 키워드를 추가하는 옵션을 추가하고 싶습니다. 나뿐만 아니라 컨트롤러에 매개 변수를 추가
<div class="field">
<%= f.label :keywords %><br>
<%= f.collection_select(:keywords, @keywords.order(:name), :id, :name, {include_blank: true}, {:multiple => true}) %>
</div>
:
def block_params
params.require(:block).permit(:name, :title, :description, :price, :instagram, :image, :main, :action, :keywords, :block_type_id, :module_keyword_id, :playlist_id)
end
그럼에도 불구하고 나는 로그
Unpermitted parameter: keywords
에이 메시지가
은 내가
/views/blocks/_form.html.erb
파일에 다음 코드를 추가
키워드는 블록에 추가되지 않습니다. 내가 무엇이 누락 되었습니까?
def block_params
params.require(:block).permit(:name, :title, :description, :price, :instagram, :image, :main, :action, :block_type_id, :module_keyword_id, :playlist_id, :keywords, keywords: [])
end
참고 : 매개 변수가 배열 인 경우
안녕하세요! 이 오류가 발생합니다 : .../blocks_controller.rb : 92 : 구문 오류, 예기치 않은 ',', 예상 => ..., 키워드 : [], : block_type_id, : module_keyword_id, : playlis .... ..^ – ste
내 잘못, 당신은 "키워드 : []"끝에 넣어해야, 내 대답을 편집합니다. – arieljuod