2012-02-09 2 views
2

자바 스크립트가 작동하지 않는 AJAX 양식으로 구성된 앱에 대해 설명하겠습니다.AJAX 양식을 구현하고 템플릿을 렌더링하는 방법은 무엇입니까?

제출할 때 Javascript를 사용하지 않으면 "created"라는 새 템플릿이 렌더링됩니다. 자바 스크립트가 활성화되어 있으면 자바 스크립트도 렌더링되어야하지만 어떻게해야할지 모르겠다.

서식 파일에는 컨트롤러 동작이나 경로가 없으므로 양식과 동일한 경로를 사용하여 표시됩니다.

파일 :

app/controllers/users_controller.rb 
app/views/users/new.html.erb 
app/views/users/created.html.erb 

users_controller.rb :

def create 
    respond_to do |format| 
    format.html { render :created } 
    format.js { render js: ??? } 
    end 
end 

new.html.erb :

<%= form_tag users_path, remote: true %> 
    <%= email_field_tag :email %> 

    <%= submit_tag "OK" %> 
<% end %> 

created.html.erb :

<div> 
    Inside this file there is a big template to be rendered. 
</div> 

답변

1

create.js.erb 파일을 views/users에 작성하고 거기에 내용을 넣어야합니다.

그런 다음 컨트롤러에서 format.js으로 전화하십시오. 완전한 예를 들어

이 RailsCast 참조 : http://railscasts.com/episodes/136-jquery

+0

내가 이미 그렇게하는 방법을 알고,하지만 난 내 기존 created.html.erb 템플릿을 다시 사용하려는. 내 HTML 코드를 create.js.erb에 넣으면 자동으로 렌더링되지 않습니다. –

+0

'create.js.erb'에서'$ (". form") 같은 것을 할 수 있습니다. replaceWith ("<% = 이스케이프 _ 자바 스크립트 (렌더링 '/ 사용자/생성됨') %>");' jQuery). – Florent2

+0

Florent2의 제안은 재미 있다고 생각합니다. –

관련 문제