Обновление до Rails 3.0 - PullRequest
0 голосов
/ 28 марта 2011

Я пытаюсь обновить приложение Rails 2.3.9 до Rails 3, и я сталкиваюсь с проблемами одна за другой.Я использовал плагин автозаполнения для Rails 2.3.9, и он отлично работает.Но теперь в Rails 3.0 вместо отображения текстового поля он просто отображает HTML, который необходимо сгенерировать.Вот мой HTML-код, который генерирует поле автозаполнения

<table class="table_style">
<caption><b>Customer Details</b></caption>
<tr>
<td><label for="customer_investigator"><%= RB['investigator']%></label><label class="mandatory">*</label></td>
<td><%= text_field_with_auto_complete "customer", :investigator,  { :onblur=> "if(this.value=='') {this.value='last, first';this.style.color='#aaa';}",:onfocus=> "if(this.value=='last, first') {this.value='';this.style.color='#000';}"},{:skip_style => true, :url=>{:action=>'autocomplete_name'}, :with =>"'name='+element.value"} %></td>
</tr>   
</table>

Теперь вот как выглядит сгенерированный HTML-код

"<input id="customer_investigator" name="customer[investigator]" onblur="if(this.value=='') {this.value='last, first';this.style.color='#aaa';}" onfocus="if(this.value=='last, first') {this.value='';this.style.color='#000';}" size="30" type="text" /><div class="auto_complete" id="customer_investigator_auto_complete"></div><script type="text/javascript">
//<![CDATA[
var customer_investigator_auto_completer = new Ajax.Autocompleter('customer_investigator', 'customer_investigator_auto_complete', '/accessions/autocomplete_name', {callback:function(element, value) { return 'name='+element.value }})
//]]>
</script>"

Для меня содержимое выглядит нормально.Но сгенерированный HTML начинается с кавычек и, следовательно, вместо отображения текстового поля он просто отображает сгенерированный HTML в форме.Он отлично работал с Rails 2.3.9.Может кто-нибудь помочь с этим?

Спасибо

Ответы [ 2 ]

1 голос
/ 28 марта 2011

Попробуйте использовать raw перед кодом автозаполнения:

<%= raw(text_field_with_auto_complete "customer", :investigator,  { :onblur=> "if(this.value=='') {this.value='last, first';this.style.color='#aaa';}",:onfocus=> "if(this.value=='last, first') {this.value='';this.style.color='#000';}"},{:skip_style => true, :url=>{:action=>'autocomplete_name'}, :with =>"'name='+element.value"}) %>
0 голосов
/ 29 марта 2011

Я всегда использую гем rails_upgrade для обновления своих приложений с rails 2 до rails 3. https://github.com/jm/rails_upgrade

Как вы уже говорили одна за другой, сталкиваясь с проблемами, этот драгоценный камень, вероятно, может помочь вам в процессе обновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...