質問編集履歴
1
途中経過の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -19,52 +19,15 @@
|
|
19
19
|
調べたのですが出てこなかったです。
|
20
20
|
これは可能なのでしょうか。
|
21
21
|
|
22
|
+
### 途中経過
|
22
23
|
|
24
|
+
試したことformat withと正規表現を用いてバリデーションを試みました。
|
23
25
|
|
24
|
-
一応、html_safeを使っている記述です。
|
25
|
-
/app/
|
26
|
+
/app/models/post.rb
|
26
27
|
```ruby
|
27
|
-
module ApplicationHelper
|
28
|
-
require "redcarpet"
|
29
|
-
require 'rouge/plugins/redcarpet'
|
30
|
-
|
28
|
+
validates :text, format: { with: ^(?!.*script).*$ }, presence: true
|
31
|
-
include Rouge::Plugins::Redcarpet
|
32
|
-
|
29
|
+
```
|
33
|
-
language = language.split(':')[0]
|
34
30
|
|
35
|
-
case language.to_s
|
36
|
-
when 'rb'
|
37
|
-
lang = 'ruby'
|
38
|
-
when 'yml'
|
39
|
-
lang = 'yaml'
|
40
|
-
when 'css'
|
41
|
-
lang = 'css'
|
42
|
-
|
31
|
+
しかし結果はSyntaxエラーになります。
|
43
|
-
lang = 'html'
|
44
|
-
when ''
|
45
|
-
lang = 'md'
|
46
|
-
else
|
47
|
-
lang = language
|
48
|
-
end
|
49
|
-
|
50
|
-
CodeRay.scan(code, lang).div
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
|
32
|
+
書き方が間違っているのかそもそもformat withの場合このようなバリデーションはかけられないため
|
55
|
-
autolink: true,
|
56
|
-
|
33
|
+
カスタムバリデーターを使った方が良いのか模索中です。
|
57
|
-
no_intra_emphasis: true,
|
58
|
-
fenced_code_blocks: true,
|
59
|
-
tables: true,
|
60
|
-
hard_wrap: true,
|
61
|
-
xhtml: true,
|
62
|
-
lax_html_blocks: true,
|
63
|
-
strikethrough: true,
|
64
|
-
fencedcodeblocks:true,
|
65
|
-
highlight: true
|
66
|
-
def html(markdown)
|
67
|
-
@@markdown.render(markdown).html_safe
|
68
|
-
end
|
69
|
-
end
|
70
|
-
```
|