설명이 어려운데, 초보 실력으로 하다가 생긴 문제이다.
문제:
모델 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
Posted by Parker Falcon
요약
php-fpm 을 uid마다 .sock을 다르게 생성
nginx에서 해당 vhost 마다 필요한 pid에 해당하는 .sock으로 요청 (port number로 하면 많아졌을 때 감당 안되므로)
http://www.howtoforge.com/php-fpm-nginx-security-in-shared-hosting-environments-debian-ubuntu
http://www.sebdangerfield.me.uk/2012/05/nginx-and-php-fpm-bash-script-for-creating-new-vhosts-under-separate-fpm-pools/
Posted by Parker Falcon
vsftp로 만든 ftp 서버에 ftps/ftpes 모두 Filezilla 로 접속이 안되는 오류가 있었습니다.
버전 문제인가 했지만, 최근에 살펴보니 버전 업 과정에서 일부 보안상 안전한 알고리즘만 포함시키고 나머지는 제외하였습니다.
해결 방법은 vsftpd.conf 에 ssl_ciphers=HIGH 한 줄 추가하는 것 입니다.
출처: http://serverfault.com/questions/385286/filezilla-client-and-vsftpd-gnutls-error-12-a-tls-fatal-alert-has-been-recei
https://forum.filezilla-project.org/viewtopic.php?f=2&t=23280
Posted by Parker Falcon