Я пытался отладить, почему <% = @ user.address1%> не отображался в представлении. Соответствующая колонка была установка в виде строки, как:Общие сведения о типах переменных Rails в отладочном состоянии
t.string "address1"
t.string "address2"
t.string "city"
t.string "state"
t.string "zip"
t.string "phone"
Когда я отлажена модель с помощью отладки (@user), я получил:
address1: 123 Main St.
city: Santa Barbara
address2: ""
zip: "93101"
state: CA
Попутный вид для ввода информации в БД:
<tr>
<td width="300">Address: </td>
<td><%= u.text_field :address1 %><br></td>
</tr>
<tr>
<td width="300">Address2: </td>
<td><%= u.text_field :address2 %><br></td>
</tr>
<tr>
<td>City:</td>
<td><%= u.text_field :city %></td>
</tr>
<tr>
<td>State:</td>
<td><%= u.text_field :state %></td>
</tr>
<tr>
<td>Zip Code:</td>
<td><%= u.text_field :zip %></td>
</tr>
<tr>
<td>Phone:</td>
<td><%= u.text_field :phone %></td>
</tr>
Я исправил проблему с помощью <% = @ user.address1.to_s%> а из отладочных вместе со схемой, я думал, колонна была уже строкой. Я заметил, что, хотя почтовый индекс содержит цитаты вокруг него, обозначающие строку, адрес1 не сделал.
Так почему я не мог изначально использовать <% [email protected]%> без преобразования его в строку? Какая переменная - главная улица 123. без котировок?
Это работает сейчас. Я не знаю, что произошло, но я перезапустил сервер несколько раз и воссоздал БД. Хм. Спасибо за информацию, что debug только ставит «вокруг» поля, которые нуждаются в разъяснении ... это любопытное hokey, я бы хотел, чтобы он просто делал это вокруг каждой переменной. – Kevin