2
mysqlデータベースのフィールドにmysql regular epxressionを保存します。具体的には、単語境界表現をデータベースに保存したいと思います。例:山括弧(<>)の間の文字はデータベースで取り除かれますか?
[[:<:]]my expression here[[:>:]]
この値をデータベースに直接入力すると(たとえば、Sequel Proを使用して)、値が正しく保存されます。
問題私はRuby on Railsをしてこの値を格納したいときに発生:
my_instance.sql_expression = "[[:<:]]my expression here[[:>:]]"
my_instance.save
=> true
しかし、実際にデータベースに格納された値は、次のようになります。
my_instance.sql_expression
=> "[[::]]"
これは、文字列のRailsでいるようです"<"と ">"の間にあるものをすべて無視してください。
プロジェクトはRuby 1.8.7とRails 2.3.5です。
保存されているものが混乱していることは確かですか?私は混乱しているのはアウトプットだと思います。詳細については、http://stackoverflow.com/questions/4251284/raw-vs-html-safe-vs-h-to-unescape-htmlを参照して、ここで何が起きているかを確認してください。 – sarnold
これらの例はREPLから実行され、直接ペーストされていますか? (2番目に入力ミスがありますか?) –
「 Lorem Ipsum'を保存するとどうなりますか? –