우여곡절 끝에 InPlaceEditor를 플러그인으로 설치하고
script/generate scaffold로 생성한 내용 중 show.html.erb 뷰를 다음과 같이 수정,
InPlaceEditor가 제대로 작동하는 것을 확인하고 컨트롤러에 다음의 코드를 추가하여 InPlaceEditor로부터의 요청을 처리할 수 있도록 하였다.
테스트 결과 아래와 같이 예외가 발생한다.
또다시 이리저리 문제 해결을 위해 검색의 세계로...
이리저리 찾아 헤메다 한국 루비 사용자 포럼에서 이런 내용을 보았다.
레일스 2.0에는 CSRF (Cross-Site Request Forgery) 공격을 막기 위한 기능이 포함되었습니다. CSRF를 위해 form에 안전한 키를 숨기고 서버사이드에서는 내가 발급한 키가 맞는지 확인해서 값을 비교합니다. 이 때 뭔가 문제가 있으면 InvalidAuthenticityToken 예외가 발생합니다.
출처 : http://forum.rubykr.org/viewtopic.php?p=6509
정확한 내용인지는 확인해 봐야겠고, 이 글에서 제시하는 두 가지 방법은
우선은 CSRF 기능을 꺼 보기로 결정, 컨트롤러에 아래의 코드를 추가했다.
정상 작동함을 확인.
레일즈를 다시 사용하면서 생각하지 못했던 많은 어려움을 겪었지만, 며칠동안 사용하면서 이제 서서히 익숙해져 간다.
script/generate scaffold로 생성한 내용 중 show.html.erb 뷰를 다음과 같이 수정,
<% for column in Contact.content_columns %>
<p>
<b><%= column.human_name %>:</b> <%#h @contact.send(column.name) %>
<%=in_place_editor_field :contact, column.name, {}, :rows => 1 %>
</p>
<% end %>
<p>
<b><%= column.human_name %>:</b> <%#h @contact.send(column.name) %>
<%=in_place_editor_field :contact, column.name, {}, :rows => 1 %>
</p>
<% end %>
InPlaceEditor가 제대로 작동하는 것을 확인하고 컨트롤러에 다음의 코드를 추가하여 InPlaceEditor로부터의 요청을 처리할 수 있도록 하였다.
in_place_edit_for :contact, :name
in_place_edit_for :contact, :email
...
in_place_edit_for :contact, :email
...
테스트 결과 아래와 같이 예외가 발생한다.
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
...
...
또다시 이리저리 문제 해결을 위해 검색의 세계로...
이리저리 찾아 헤메다 한국 루비 사용자 포럼에서 이런 내용을 보았다.
레일스 2.0에는 CSRF (Cross-Site Request Forgery) 공격을 막기 위한 기능이 포함되었습니다. CSRF를 위해 form에 안전한 키를 숨기고 서버사이드에서는 내가 발급한 키가 맞는지 확인해서 값을 비교합니다. 이 때 뭔가 문제가 있으면 InvalidAuthenticityToken 예외가 발생합니다.
출처 : http://forum.rubykr.org/viewtopic.php?p=6509
정확한 내용인지는 확인해 봐야겠고, 이 글에서 제시하는 두 가지 방법은
- CSRF 기능을 끄는 방법
- <FORM> 태그 대신 레일스의 폼 헬퍼 메서드 즉 form_tag 등의 기능을 사용하는 방법
우선은 CSRF 기능을 꺼 보기로 결정, 컨트롤러에 아래의 코드를 추가했다.
skip_before_filter :verify_authenticity_token
정상 작동함을 확인.
레일즈를 다시 사용하면서 생각하지 못했던 많은 어려움을 겪었지만, 며칠동안 사용하면서 이제 서서히 익숙해져 간다.