teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

不要なパスを削除、hamlのサンプルも追加

2019/07/03 13:24

投稿

takahashim
takahashim

スコア1877

answer CHANGED
@@ -18,11 +18,10 @@
18
18
 
19
19
  具体例としては、以下のようなファイルをhaml.rbとして用意して、
20
20
 
21
- ```haml.rb
21
+ ```ruby
22
22
  #!/usr/bin/env ruby
23
23
  # The command line Haml parser.
24
24
 
25
- $LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
26
25
  require 'haml'
27
26
  require 'haml/exec'
28
27
 
@@ -42,4 +41,16 @@
42
41
  $ ./haml.rb lists.haml lists.html
43
42
  ```
44
43
 
45
- で実行してみると良いかと思います。
44
+ で実行してみると良いかと思います。
45
+ その場合は、lists.hamlは以下のようになります。
46
+
47
+ ```haml
48
+ !!!
49
+ %html{:lang => "ja"}
50
+ %body
51
+ - list = List.find(1)
52
+ - url = list.url
53
+ - title = list.title
54
+ %p
55
+ %a(href="#{url}") #{title}
56
+ ```

1

具体例の追加

2019/07/03 13:24

投稿

takahashim
takahashim

スコア1877

answer CHANGED
@@ -12,4 +12,34 @@
12
12
 
13
13
  > - class List < ActiveRecord::Base; end
14
14
 
15
- にすれば解決するかもしれませんが、その前の require も合わせて別の*.rbなファイルに置いておく方がよいかと思います。
15
+ にすれば解決するかもしれませんが、その前の require も合わせて別の*.rbなファイルに置いておく方がよいかと思います。
16
+
17
+ ---
18
+
19
+ 具体例としては、以下のようなファイルをhaml.rbとして用意して、
20
+
21
+ ```haml.rb
22
+ #!/usr/bin/env ruby
23
+ # The command line Haml parser.
24
+
25
+ $LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
26
+ require 'haml'
27
+ require 'haml/exec'
28
+
29
+ require 'active_record'
30
+
31
+ ActiveRecord::Base.establish_connection("adapter" => "sqlite3", "database" => "./lists.db")
32
+ class List < ActiveRecord::Base
33
+ end
34
+
35
+ opts = Haml::Exec::Haml.new(ARGV)
36
+ opts.parse!
37
+ ```
38
+
39
+ `chmod 755 haml.rb` などとして実行権限を与えた上で、
40
+
41
+ ```shell-session
42
+ $ ./haml.rb lists.haml lists.html
43
+ ```
44
+
45
+ で実行してみると良いかと思います。