2012-01-10 6 views
1

私はGrailsには比較的新しく、アプリケーションの開発中に簡単な模擬データを作成する方法についてもっと学びたいと思っています。Grails同等のRailsコンソールBook.all、Book.createなど

Book.create{title: "new book", author_id: 2} 

とRailsと私はそうのように、すべてを見ることができます:

Book.all 

Grailsのはどのようなものがあり

のRuby on Railsで

、私はそうのように、新しいオブジェクトを作成するには、コンソールを使用することができますこれに相当するもの?私はあなたが開発中のインメモリ・データベースを使用している場合 への最も簡単な方法は、テストデータを追加するGrailsの2.0.0

答えて

2

を使用していますと、 データを作成し、保存しているBootstrap.groovyにコードを追加することです。

別のオプションは、Grailsのコンソールを使用することです:http://www.grails.org/Command+Line+Tools

6

(マイケルがを暗示のように)あなたはGrailsのシェルを使用することができます。たとえば、ドメインクラスtest.Bookのテストアプリがあります。

/home/tim/cmdline $ grails 
| Enter a script name to run. Use TAB for completion: 
grails> run-app 
| Compiling 38 source files 

| Server running. Browse to http://localhost:8080/cmdline 
| Application loaded in interactive mode. Type 'exit' to shutdown. 
| Enter a script name to run. Use TAB for completion: 
grails> shell 
| Packaging Grails application..... 
Groovy Shell (1.8.4, JVM: 1.6.0_29) 
Type 'help' or '\h' for help. 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
groovy:000> new test.Book(title:'Groovy things').save() 
===> test.Book : 1 
groovy:000> test.Book.list() 
===> [test.Book : 1] 
groovy:000> 
+1

を使用してすべての書籍のリストを取得することは、それはアプリが実行されている間、Grailsのコンソールを実行することは可能でしょうか? 2人が同じポートを使用しようとしないでください。私は通常、この問題を避けるためにGrailsコンソールプラグインを使用します。 –

+2

シェル自体がWebリスナーを起動せず、シェルが動作するためにrun-appは必要ありません。だから彼らは争うことはなく、あなたは同時に両方を使うことができます –

4

あなたがGrails console pluginをインストールして、/consoleに移動した場合、あなたが作成することができます。この例では、私が最初Bookエントリを保存し、上場シェルとテストを実行し、アプリケーションを実行し、Grailsの対話モードをロード

new Book(title: "new book").save() 

を使用してオブジェクトと

Book.list()