データベースに問題があり、新しいエントリの ID のみを保存し、要求している :name 属性の代わりにそれらをフォームに表示しているようです。フォームまたは sqlite3 ブラウザを使用してエントリを表示した場合。IDのみが表示されます。
ここに私の移行ファイルがあります..
class CreateClients < ActiveRecord::Migration
def change
create_table :clients do |t|
t.string :name
t.string :detail
t.string :more_detail
t.string :more_details
t.timestamps
end
end
end
私のフォーム..
<%= form_for @client, :html => { :class => 'form-horizontal' } do |f| %>
<div class="control-group">
<%= f.label :name, :class => 'control-label' %>
<div class="controls">
<%= f.text_field :name, :class => 'text_field' %>
</div>
</div>
<div class="control-group">
<%= f.label :detail, :class => 'control-label' %>
<div class="controls">
<%= f.text_field :detail, :class => 'text_field' %>
</div>
</div>
<div class="control-group">
<%= f.label :more_detail, :class => 'control-label' %>
<div class="controls">
<%= f.text_field :more_detail, :class => 'text_field' %>
</div>
</div>
<div class="control-group">
<%= f.label :more_details, :class => 'control-label' %>
<div class="controls">
<%= f.text_field :more_details, :class => 'text_field' %>
</div>
</div>
<div class="form-actions">
<%= f.submit nil, :class => 'btn btn-primary' %>
<%= link_to t('.cancel', :default => t("helpers.links.cancel")),
clients_path, :class => 'btn' %>
</div>
<% end %>
そして私の見解..
...
<% @client.each do |client| %>
<tr>
<td><%= link_to client.name, client_path(client) %></td>
<td>
...
名前 (例: foo
) を表示してから、そのクライアントの詳細へのリンクを表示する代わりに。それは私を示して/clients/3
おり、それをクリックすると、エントリを保存するときに指定されたにもかかわらず、名前と詳細のフィールドが空のページに移動します。
sqlite3 ブラウザを使用している場合。エントリが保存されていることがわかりますが、それぞれにnull
ID 以外のすべての列の値があります。