0

私の環境は次のようなものです:

Rails 3.2.13
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin10.8.0]
postsql 9.2

この移行で States テーブルを作成しました。

class CreateStates < ActiveRecord::Migration
  def up
    create_table :states do |t|
        t.string "states"
        t.timestamps
    end
  end
  def down
    drop_table :states
  end
end

私はこのseeds.rbファイルを使用して、状態テーブルにデータを入力しました。

State.delete_all
 open("/opt/nginx/html/blog/db/states.txt") do |states|
 states.read.each_line do |state|
 State.create!(:states => state)
end

私のレールコンソールでは、出力はうまく見えます(「/ n」を除く)

> state = State.first
  State Load (0.6ms)  SELECT "states".* FROM "states" LIMIT 1
  => #<State id: 225, states: "Alabama\n", created_at: "2013-07-11 03:51:43",
  updated_at: "2013-07-11 03:51:43"> 

アソシエーションを使用して、States は Conferences の ActiveAdmin モジュールにあります。しかし、ブラウザでレンダリングすると、次のようになります。

<option value="225">#&lt;State:0x00000105a608f0&gt;</option>

rake db:seed が問題を引き起こしたと確信しています。「/n」は目安です。

この問題を解決するためのすべての助けをいただければ幸いです。

4

1 に答える 1

0

紛らわしいので、テーブルのstates列の名前を に変更する必要があります。末尾を取り除くには、次のことができますstatesname\n

open("/opt/nginx/html/blog/db/states.txt") do |states|
  states.read.each_line do |state|
  State.create!(:states => state.chomp)
end
于 2013-07-18T07:51:42.883 に答える