我有我的應用程序在生產和臨時服務器上運行。兩個看似完全相同的服務器上的不同formtastic行爲
相同版本的代碼在兩個版本上運行,服務器在版本的rails(3.1.3),gem,數據庫模式方面是相同的......我不知道有什麼區別。
但是,我有一個窗體呈現與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您將生產服務器上的堆棧放置在開發模式下,是否仍然存在問題? –
你的意思是在生產服務器上啓動應用程序,但指定登臺模式?好建議,我會試試。 FWIW,我現在已經注意到這兩種環境之間的其他細微差別,所以我錯過了兩種不同的東西。 – denishaskin