설명이 어려운데, 초보 실력으로 하다가 생긴 문제이다.
문제:
모델 A
모델 B의 button 이라는 항목은 모델 A의 객체를 References 로 가진다.
모델 B를 변경하는 update 명령이 controller 로 넘어올 때, 해당 cmd 값을 변경할 방법을 모르겠음.
그냥 하면 Object 대신에 String가 들어왔다고 에러
억지로 @button = Button.find(param[:command][:button]) 뭐 이런식으로 해서 할당해줘도 제대로 안된다.
해결:
애초에 form 문 내의 <input>태그의 id값이 잘못되었다.
그러니까
<p>
<%= f.label :button %><br />
<%= f.select :button, @buttons.map {|b| [b.title, b.id]} %>
</p>
가 아니고
<p>
<%= f.label :button %><br />
<%= f.select :button_id, @buttons.map {|b| [b.title, b.id]} %>
</p>
로 button_id로 해당 obj의 id값을 넘겨준다
그리고
입력에 넣어주는 param도
params.require(:command).permit(:owner, :status, :button_id, :img_path, :audio_path)
이런식으로 button_id 를 넣어주면 된다.
출처: http://archive.railsforum.com/viewtopic.php?id=31815
문제:
모델 A
모델 B의 button 이라는 항목은 모델 A의 객체를 References 로 가진다.
모델 B를 변경하는 update 명령이 controller 로 넘어올 때, 해당 cmd 값을 변경할 방법을 모르겠음.
그냥 하면 Object 대신에 String가 들어왔다고 에러
억지로 @button = Button.find(param[:command][:button]) 뭐 이런식으로 해서 할당해줘도 제대로 안된다.
해결:
애초에 form 문 내의 <input>태그의 id값이 잘못되었다.
그러니까
<p>
<%= f.label :button %><br />
<%= f.select :button, @buttons.map {|b| [b.title, b.id]} %>
</p>
가 아니고
<p>
<%= f.label :button %><br />
<%= f.select :button_id, @buttons.map {|b| [b.title, b.id]} %>
</p>
로 button_id로 해당 obj의 id값을 넘겨준다
그리고
입력에 넣어주는 param도
params.require(:command).permit(:owner, :status, :button_id, :img_path, :audio_path)
이런식으로 button_id 를 넣어주면 된다.
출처: http://archive.railsforum.com/viewtopic.php?id=31815
'Digital Life > 만드는 이야기' 카테고리의 다른 글
[Python] listenWS 모듈을 못찾는 오류 (0) | 2014.02.13 |
---|---|
[Rails] Console에서 User 만들어 저장하는데 잘 안되던 초보 일지 (0) | 2014.02.02 |
[링크] nginx / php-fpm 에서 호스팅 보안 설정 (vhost 마다 다른 uid로 php 실행) (0) | 2013.08.28 |
vsftpd 서버에 Filezilla 로 보안 접속이 안될 때 (GnuTLS 에러) (0) | 2013.08.27 |
OS X에서 MATLAB이 정상 작동하지 않을 때 (0) | 2013.08.25 |