<h1>Administrators</h1>
<ul>
<% for user in @all_users %>
<li>
<%= link_to "[X]",
{ :controller => 'login' , :action => 'delete_user', :id => user },
{ :method => :post , :confirm => "Really delete #{user.name}?" }
-%>
<%=h user.name%>
</li>
<% end %>
</ul>
/depot/app/views/login/list_users.html.erb line 7 < 책 218쪽 >

:post => true 에서 :method => :post 로 변경하여야 정상 작동한다.

:post => true 라고 쓰면 단지 <a> 태그안에 post = true 라고 변환한다.
즉 결과물은 <a href="xxxx" post=true>xxxx</a> 당연히 정상동작하지 않는다.
앞에서 배운대로  :method => :post 로 작성하면 rails에서 자동으로 post 로 값을 보내는 스크립트를 만들어준다.


<a href="/login/delete_user/4"onclick="if (confirm('Really delete xxxx?'))
{ var f = document.createElement('form'); f.style.display = 'none';
this.parentNode.appendChild(f); f.method = 'POST';
f.action = this.href;var s = document.createElement('input');
s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token');
s.setAttribute('value', '해쉬값'); f.appendChild(s);f.submit(); };return false;"
>
:method => :post 로 작성한 결과물.
이올린에 북마크하기(0) 이올린에 추천하기(0)
2008/07/31 09:55 2008/07/31 09:55
Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다
openclose