0
>> Reply.first
=> #< Reply id: 1, body: "line1\r\n\r\nline2\r\n" >

しかし、私がするとき

>> Reply.first.body
=> "line1"

彼らが探している私のテストのいくつかを破っています:

assert_difference 'Reply.where(:body => "line1\r\n\r\nline2").count' do

テストに改行があることを確認するにはどうすればよいですか?

4

2 に答える 2

1

次のようなカスタムゲッターがあるようです:

class Reply < ActiveRecord::Base
  def body
    "foo"
  end
end

reply = Reply.new(body: "bar")
#=> #<Reply id:nil, body: "bar" created_at: nil, updated_at: nil>

reply.body
#=> "foo"

その場合、次を使用して生の属性を取得できますModel[:attribute_name]

reply[:body]
#=> "bar"
于 2013-10-02T15:55:12.387 に答える
0

バックスラッシュがある場合は、snytax を少し変更します。

assert_difference 'Reply.where("body = 'line1\r\n\r\nline2\r\n'").count' do
于 2013-10-02T14:54:19.817 に答える