2011-08-09 5 views

답변

0

를 사용하여 배열 검색

<% if User.find(current_user.id).compare.include? @post.id %> 
do something 
<% else %> 
do something else 
<% end %> 

감사합니다,

이것은 내가 해봤 것들 중 하나이지만 항상 다른 문으로 이동 도와 줘요!

이것은 PHP입니다. -

태그 읽기는 ... 여기에 정답 :

사용 : compare 필드 당신이 그것에 include?를 호출하기 전에 직렬화 할 필요가 array.include?(value)

http://www.ruby-doc.org/core/classes/Array.html#M002226

0

.

0

저는 Ruby 1.8을 사용하고 있다고 생각합니다. String 클래스에는 include? 메서드가 있습니다.

str.include? other_str => true 또는 false
str.include? fixnum => true 또는 false
str에 주어진 문자열 또는 문자가 포함되어 있으면 true를 반환합니다.

str.includes? 11과 1.8.7을 사용하면 해결할 수 있습니다. 1.9에서

, 문자열의 include? 만 문자열 인수 이해 :

str.include를? other_str → true 또는 false
str에 주어진 문자열 또는 문자가 포함되어 있으면 true를 반환합니다.

그래서, 당신은이 작업을 수행 할 때

당신은 문자열로 직렬화 된 형식을 받고 그 문자열에서 Fixnum이라는 찾고있는
User.find(current_user.id).compare 

. @post.id이 직렬화 된 데이터의 문자 범위를 벗어날 가능성이 있으므로 include?이 실패합니다. 직렬화 된 배열을 compare 재정의로 비 직렬화하고 싶을 수도 있습니다. 또는 아래의 SQL 데이터베이스를 사용할 때 배열 데이터를 별도의 테이블에 저장하는 것이 좋습니다.

관련 문제