내 프로덕션 및 준비 서버에서 실행중인 응용 프로그램이 있습니다.외관상으로 동일한 두 서버에서 서로 다른 formtastic 동작
두 버전 모두 동일한 버전의 코드가 실행되고 있으며 서버의 레일 버전 (3.1.3), 보석, 데이터베이스 스키마는 동일합니다 ... 차이점을 찾기가 어렵습니다.
그러나 formtastic (2.0.0.rc5)로 렌더링 된 폼은 2 개의 서버에서 동일하게 렌더링되지 않습니다. 프로덕션 환경에서 Formtastic은 뷰가 관리 모듈에 있음을 올바르게 고려하지 않은 것처럼 보입니다.
문제의 부분은 app/views/admin/composers/_form.html.erb
에 있고 그것의 관련 부분은 다음과 같습니다
<%= semantic_form_for @composer, :url => @composer.new_record? ? admin_composers_path : admin_composer_path(@composer) do |form| %>
<%= form.inputs do %>
<%= form.input :name %>
... 등 ... 양식으로 예상 렌더링하는 내 스테이징 서버에서
합니다 (주의 id
과 input
필드)의 name
:
<form accept-charset="UTF-8" action="/admin/composers" class="formtastic admin_composer" id="new_admin_composer" method="post" novalidate="novalidate">
<div style="margin:0;padding:0;display:inline">
<input name="utf8" type="hidden" value="✓" />
<input name="authenticity_token" type="hidden" value="rotbxUCJeZJuAY6eMRKaQKYdiPN0tlfQSKIeCj6VBUE=" />
</div>
<fieldset class="inputs">
<ol>
<li class="string input required stringish" id="admin_composer_name_input">
<label class=" label" for="admin_composer_name">Name<abbr title="required">*</abbr></label>
<input id="admin_composer_name" maxlength="255" name="admin_composer[name]" type="text" />
... 등 ...
프로덕션 서버에그러나 (잘못된 id
및 name
주) :
<form accept-charset="UTF-8" action="/admin/composers" class="formtastic composer" id="new_composer" method="post" novalidate="novalidate">
<div style="margin:0;padding:0;display:inline">
<input name="utf8" type="hidden" value="✓" />
<input name="authenticity_token" type="hidden" value="qt++LTRdS+V28dvTRHA7h0vGhSKSoINP8cTjLRCk088=" />
</div>
<fieldset class="inputs"><ol>
<li class="string input required stringish" id="composer_name_input">
<label class=" label" for="composer_name">Name<abbr title="required">*</abbr></label>
<input id="composer_name" maxlength="255" name="composer[name]" type="text" />
... 등 ...
나는, 어쩌면 뭔가 어딘가에 캐시 것을 걱정 한 적이 있지만 제가 말할 수있는 한, 모든 것을 생산에서 재배포하도록 강요했습니다.
생각하십니까?
y를하는 경우 ou 프로덕션 서버에서 스택을 가져 와서 개발 모드로두면 문제가 계속 발생합니까? –
프로덕션 서버에서 응용 프로그램을 시작하지만 준비 모드를 지정한다는 의미입니까? 좋은 제안, 나는 그것을 시도 할 것이다. FWIW, 나는 2 개의 환경 사이에서 행동의 다른 약간의 차이를 알아 차렸다. 그래서 내가 놓치고있는 2 개의 다른 무엇인가 있어야한다. – denishaskin