저는 Rails 3.2에서 ajax 및 jQuery를 사용하여 CRUD 작업을 수행 할 수있는 백엔드를 개발했습니다. 아약스를 처리하기 위해 js.coffee 파일을 사용하는 여러 컨트롤러/뷰를 사용하여이 작업을 수행했습니다. 내보기에 대한 내 파일 구조의 예는 다음과 같습니다.Rails 3.2 jQuery Ajax 원격 양식에서 반복을 줄이려고 시도
views
users
index.html.erb
_form.html.erb
_edit_form.html.erb
_user.html.erb
create.js.coffee
edit.js.coffee
update.js.coffee
destroy.js.coffee
customers
index.html.erb
_form.html.erb
_edit_form.html.erb
_customer.html.erb
create.js.coffee
edit.js.coffee
update.js.coffee
destroy.js.coffee
email_blasts
index.html.erb
_form.html.erb
_edit_form.html.erb
_blast.html.erb
create.js.coffee
edit.js.coffee
update.js.coffee
destroy.js.coffee
.
.
.
.
사용자보기와 고객보기 모두에 대한 create.js.coffee의 예는 다음과 같습니다. 정확한 패턴을 따르는 인스턴스 변수와 div 이름을 확인하십시오. 아래의 모든 coffeescript는 위에 나열된 모든 뷰에서 정확한 구조를 따릅니다. 위에 나열된 모든 create.js.coffee 파일은 사실상 동일합니다. 내 질문은 복제를 줄이는 가장 좋은 방법은 무엇입니까? 이 플러그인을 만들면 좋을까요? 도우미에 넣어야합니까? 내가 anyones에 도움을 주시면 감사하겠습니다 :(이전의 PHP 프로그래머 나처럼 레일이 처리하는 방법을 잘 모르겠어요 사용자 뷰
create.js.coffee!
$('#errors').empty()
$('#errors').show()
<% if @user.errors.any? %>
$('<%= escape_javascript(render :partial => "errors", :locals => {:target => @user })%>')
.appendTo('#errors')
<% else %>
$('<%= escape_javascript(render(:partial => @user))%>')
.appendTo('#user_table')
.hide()
.fadeIn(200)
$('#errors').hide()
$('#new_user')[0].reset()
$('#users_count').html '<%= users_count %>'
<% end %>
$('#error_close').click ->
$('#errors').fadeOut()
create.js 일을 할 자바 스크립트 클래스를 확인하십시오. 당신이 자바 스크립트와 ERB를 혼합 중지 다시 사용하려는 경우, 당신은 당신의 코드를 구성해야
$('#errors').empty()
$('#errors').show()
<% if @customer.errors.any? %>
$('<%= escape_javascript(render :partial => "errors", :locals => {:target => @customer })%>')
.appendTo('#errors')
<% else %>
$('<%= escape_javascript(render(:partial => @customer))%>')
.appendTo('#customer_table')
.hide()
.fadeIn(200)
$('#errors').hide()
$('#new_customer')[0].reset()
$('#customers_count').html '<%= customers_count %>'
<% end %>
$('#error_close').click ->
$('#errors').fadeOut()
당신은 RailsCasts 프로 subscri이있는 경우 참조 할 수도 있습니다. http://railscasts.com/episodes/323-backbone-on-rails-part-1, http://railscasts.com/episodes/325-backbone-on-rails-part-2 – flooooo
왜 erb와 javascript를 섞으면 코드를 재사용 할 수 있습니까? 서버 측 자바 스크립트를 사용하지 않고 필요한 것을 성취 할 수있는 방법이 있습니까? – ctilley79
특정 상황에 대한 사전 설정 변수로 가득 찬 코드를 어떻게 다시 사용 하시겠습니까? 일반적이고 깨끗한 것을 재사용 할 수 있습니다.이 코드는 단지 구체적입니다. 따라서 일반 부품을 추출하여 필요한 곳에 매개 변수화해야합니다. 따라서 코드의 대부분은 erb와 모든 매개 변수로 호출 할 수있는 재사용 가능한 클래스의 각 페이지로 이동합니다. –