안녕하세요, 함수 내에서 일부 계산을 수행하려면 current_user 모델을 사용해야합니다. 함수 내에서 current_user.name = '무엇이든'과 같이해야하므로 name의 현재 값이 변경됩니다.레일 클론 또는 해시?
그러나 변경 사항을 로컬로 사용하려면 해당 기능 내에서만 수행해야합니다. Rails는 객체를 사용하기 때문에 문제가된다. 그래서 나는 생각하고있어, 할 수있는 최선의 일은 무엇인가?
아마도 current_user를 새로운 객체에 복제하고 그 함수 내에서 사용하겠습니까? 이것은 비싸 보입니다. 또는 모델에서 해시를 만들 수 있습니까? 그리고 제가 그렇게한다면 실제 모델은 바뀌지 않을 것입니다.
편집 : 그것은 그 해시 작품을 보이지만, 그와 관련된 어떤 종류가 없다, 그래서 같은 것을 할 경우 : 다음
@attacker = current_user.attributes
을, 그것을 사용하는, 내가 다른 (같은 그리고 to_s를 지정해야 내가
@attacker의 [: 이름] 어떤 이유로 무기 호 오류)를 얻을 .to_s = '어떤'
흠, 내가 같으면 컨트롤러에서 어딘가에
변경해야 할 내 모델의 가능한 모든 속성에 대해 가상 속성을 만들고 싶지 않습니다. 해시로 할 수 있다고 생각하지 않습니까? – Spyros
일반 변수입니다. '함수 내에서 몇 가지 계산을 수행 할 필요가 있고'당신은'그 변경이 로컬이되기를 원한다. 그 함수 안에서 만 수행된다'는 함수의 범위 내에서 변수를 사용하는 것이 안전하다. 변수를 반환하거나 원하는대로 함수 내에서 죽게 할 수 있습니다. 가상 속성이 필요하지 않습니다. – lbz
당신이 맞습니다, 그것도 옵션입니다, 나는 또한 해시를 시도하고 그들은 지금도 잘 작동합니다. 변수 솔루션이 덜 비싸다고 생각됩니다. – Spyros