모델을 누락 처리 : 게시물 및 사용자레일 4 개 강 매개 변수 - 모델에 Params 해시
포스트 belongs_to : 사용자
사용자 has_many : 게시물
간단한
.몇 명의 사용자가 있다고 가정하면 Google은 게시물의 수정 페이지를 방문합니다.
<%= form_for @post do |f| %>
...
<% User.all.each do |user| %>
<div><%= f.radio_button "user_id", user.id %></div>
<% end %>
...
포스트의 컨트롤러는 레일 4 개 강한 매개 변수를 활용합니다.
params.require(:post).permit(:user_id)
편집 게시 양식에는 라디오 버튼이 필드로만 있다고 가정합니다.
문제점 : ActionController :: ParameterMissing 예외가 발생합니다. param을 찾을 수 없음 : post
Post params 해시가 생성 된 이유는 위에서 언급 한 예외를 발생시킵니다. 예를 들어 빈 텍스트 필드와 달리 빈 라디오 버튼은 모델의 매개 변수 해시가 생성되도록 트리거하지 않습니다.
게시물 모델에서 user_id가 유효해야한다면 어떻게해야합니까? 틀림없이 포스트를 저장할 수없는 이유와 함께 뷰를 다시 렌더링하려고합니다.
질문 : 레일스 컨벤션을 고수하면서이 상황을 처리하는 우아한 방법은 무엇입니까?
UPDATE : 더 이것에 대해 브레인 스토밍
, 나는이 문제를 다른 때에는 많은 아마 거기에 확신 해요; 반드시 라디오 버튼에 해당하는 것은 아닙니다.
나는 더 이상한 문제가 있습니다 ...모델 해시에 대해 동일한 매개 변수가 없지만 사용자의 필드 중 두 개가있는 form_for @user는 테스트 중입니다. 내 URL이 사용자 이름을 사용하여 발생하고 나는 그것이 ID 또는 뭔가가 누락되었다고 생각합니다. 그러나 나는 같은 일을하는 나의 프로젝트의 다른 부분을 가지고있다. 유일한 차이점은 scaffold보다는 처음부터이 양식을 만든 것입니다 ... – dtc