0

ActiveAdmingemでRailsを使用しています。そして、mysqlデータベースからいくつかの情報を選択したいと思います。

sql = ActiveRecord::Base.connection();
s="SELECT word FROM dics WHERE word LIKE 'tung%'";
ten = sql.execute(s);

しかし、画面に「10」を印刷すると、次のことがわかりました。

#<Mysql2::Result:0x4936260>

レコードの情報を取得するにはどうすればよいですか?

4

1 に答える 1

1

直接使用しないことをお勧めしますActiveRecord::Base.connection。ARel構文に固執することはほとんどの場合に機能するはずであり、あなたの例はエッジケースのようには見えません。

上記のコメントに記載されているように、次のことを試してください。

dics = Dic.select(:word).where(["word LIKE ?", "tung%"]).all

オブジェクト自体ではなく、オブジェクトの特別なフィールドを取得するには、次pluckの代わりにを使用しallます。

# instead of .pluck(:word) use real field identifier
dics = Dic.where(["word LIKE ?", "tung%"]).pluck(:word)
于 2012-05-15T08:36:54.747 に答える