Rails 프로젝트에서 루비 객체에 대한 동적 변수 생성

Rob

저는 Rails를 처음 접했고 멋진 gem과 API를 사용하고 있습니다. 나는이 커뮤니티가 질문과 답변의 내용을 소중히 여기거나 특정 방식으로 구성 될 것으로 예상된다는 것을 알고 있습니다. 내 질문에 대한 짧은 방법과 긴 방법이 제공됩니다. 여기에서 선호하는 것이 무엇인지 알려주세요! 그래도 진짜 질문입니다!

짧은 버전

레일스 앱에 사용자 이름 속성이있는 users_controller 및 User 개체가 있습니다. 사용자 이름을 기반으로 동적으로 이러한 사용자에 대한 전역 변수를 생성하려면 어떻게해야합니까? 예 : 내 사용자 (id = 1, first_name = "Rob", 사용자 이름 = "rocky")가 @rocky로 호출되기를 원합니다. 그래서 터미널에서 저를 위해 일하는 아래의 첫 번째 코드 줄을 기반으로하는 내 Users_controller에서 아래에 무엇이 될까요?

@rocky = User.find_by_username("rocky")

WHATGOESHERE = User.find_by_username(params[:username]} 

또는 params [: username] 대신 어떤 모양이나 형태로 이것을 사용해야합니까?

@"#{user.username}"

아래는 내 질문의 더 긴 버전입니다. 더 자세하고 내가 문제에 어떻게 접근했는지 더 자세히 따릅니다. 두 번째로 쓴 첫 번째는 더 간결하지만 항상 사람들이 원하는 것은 아닙니다 ...이 사이트에서 선호하는 것이 무엇인지 알려주세요. 감사!!

긴 버전

몇 가지에 대한 명확성이 필요합니다. "has_friendship"이라는 보석을 사용하여 사용자 간의 우정을 쌓고 있습니다 (gem- https://github.com/sungwoncho/has_friendship 링크 ).

첫째, 이것은 사용자 생성부터 시작하여 우정을 요청하는 방법에 대한 문서 예제입니다.

@mac = User.create(name: "Mac")
@dee = User.create(name: "Dee")

# @mac sends a friend request to @dee
@mac.friend_request(@dee)

이것이 내가 처음 혼란 스러워진 곳입니다. 내 사용자에게는 "이름"필드가 없습니다. 하지만 괜찮습니다. 내 사용자가 "username"속성 뒤에 서로 상호 작용할 것이기 때문에 생성 된 사용자 전역 변수를 할당하면된다는 것을 알아 냈습니다. 첫 번째 질문입니다. 각 사용자에게 동적 변수 이름을 어떻게 할당합니까? 문서에서 "Mac"및 "Dee"라는 이름으로 하드 코딩되어 있습니다. 객체를 생성 할 때이 전역 변수를 만들어야합니다. 그래서 제 계획은 컨트롤러에서이 작업을 수행하는 것입니다. 여기서는 이미 users # show에서 @users와 @user를 정의하고 있습니다.

@users = User.all
@user = User.includes(:wallet).find_by_id(params[:id])

그래서 내 생각 과정은 방정식의 왼쪽이 당신이 명명하는 이름이어야하고 오른쪽이 그 이름이 말하는 것입니다. 그래서 오른쪽에는

User.find_by_username(params[:username])

터미널에서 괄호 안의 내용을 따옴표 안의 실제 사용자 이름으로 바꾸면 해당 사용자의 정보가 표시됩니다. 그래서 왼쪽을 어떻게 쓰나요? 왼쪽이 다음과 같다고 생각합니다.

@"#{params[:username]}"

그래서 전체적으로 현재 사용자 이름 속성을 기반으로 사용자에게 전역 변수를 할당하기 위해 users_controller에 다음이 있습니다.

@"#{params[:username]}" = User.find_by_username(params[:username])

이, 특히 왼쪽은 나에게 잘 보이지 않습니다. 그래서 저는 구글을 둘러 보았습니다. 그리고이 작업을 수행하는 올바른 방법 인 것처럼 보이는 유일한 다른 것은 "instance_variable_set"을 사용하는 것입니다.하지만 제가 본 모든 것이 제 상황에 맞지 않습니다. .. (평소처럼 .. 하)

니미 쉬 굽타

좋아, 내가 당신의 질문에서 알게 된 것은 friend_request두 사용자를 연결 하는 방법을 사용하려는 것 입니다.

이를 위해 변수에 할당 할 필요가 없습니다. 다음과 같이 직접 할 수 있습니다. 두 명의 사용자가 있다고 가정합니다.

id = 1 first_name = 'Rocky'사용자 이름 = 'rocky'

id = 2 first_name = 'Nimish'사용자 이름 = 'nimish'

User.find_by(username: 'rocky').friend_request(User.find_by(username: 'nimish'))

또는

User.find_by_username('rocky').friend_request(User.find_by_username( 'nimish'))

당신이 인스턴스 변수에 할당하려는 경우 또한, 다음 당신은 단순히에 할당 할 수 있습니다 사용자 이름 값에 해당하는 인스턴스 변수를 만들 필요가 없습니다 @user@requested_user다음과

@user.friend_request(@requested_user)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

for 루프에서 동적으로 생성 된 변수

분류에서Dev

변수에 대한 동적 입력 생성

분류에서Dev

for 루프, Javascript 내부에 동적으로 생성 된 변수

분류에서Dev

동적 div 생성을위한 JS 객체 루프

분류에서Dev

생성 된 각 객체에 대한 생성자의 클래스 변수 변경

분류에서Dev

객체의 변수 L 캐시에 대한 자동 최적화?

분류에서Dev

가변 배열 수의 곱에서 동적으로 객체 생성

분류에서Dev

동일한 솔루션의 콘솔 프로젝트에서 웹 프로젝트 함수를 호출하여 문제 C # 발생

분류에서Dev

동적 속성에 대한 객체 값 기반의 배열 변경

분류에서Dev

for 루프의 변수에 동적으로 함수 생성 / 연결 시도

분류에서Dev

R에서 더미 변수 생성을위한 동적 함수

분류에서Dev

동적으로 생성 된 배열 객체에 대한 JavaScript 액세스

분류에서Dev

서비스 생성자에 동적 변수 전달

분류에서Dev

for 루프에서 전달 된 변수 이름으로 객체 생성

분류에서Dev

여러 변수에 대한 각 범주의 비율에 대한 변수 생성

분류에서Dev

Javascript-객체에서 동적으로 생성 된 속성에 대해 반복

분류에서Dev

동적으로 생성 된 행에 대한 계산 수행 (jQuery)

분류에서Dev

동적으로 생성 된 이미지에 대한 jquery 함수

분류에서Dev

동적으로 생성 된 양식에 대한 작업 수행

분류에서Dev

자바 스크립트는 객체에서 동적으로 생성 된 함수

분류에서Dev

한 C # 프로젝트에서 다른 프로젝트로 클래스를 가져올 때 자동 생성 된 파일을 제외 할 수 있습니까?

분류에서Dev

비동기 대기에서 객체를 저장할 때 무한 루프

분류에서Dev

Rails-다시 생성 된 프로젝트에서 bin / rails 생성이 작동하지 않습니다.

분류에서Dev

bash에서 루프를 사용하여 pdftk에 대한 매개 변수 생성

분류에서Dev

동적 생성 자바 스크립트에 대한 캐시 비활성화

분류에서Dev

정확한 오류 : 루트 구성 요소에서 비동기 대기를 사용할 때 "객체가 자식으로 유효하지 않습니다. {} 키가있는 객체가 발생했습니다."

분류에서Dev

솔루션 내에서 파일 참조를 프로젝트 참조로 자동 대체 할 수 있습니까?

분류에서Dev

C ++에서 동적 객체 생성?

분류에서Dev

QML에서 동적 객체 생성

Related 관련 기사

  1. 1

    for 루프에서 동적으로 생성 된 변수

  2. 2

    변수에 대한 동적 입력 생성

  3. 3

    for 루프, Javascript 내부에 동적으로 생성 된 변수

  4. 4

    동적 div 생성을위한 JS 객체 루프

  5. 5

    생성 된 각 객체에 대한 생성자의 클래스 변수 변경

  6. 6

    객체의 변수 L 캐시에 대한 자동 최적화?

  7. 7

    가변 배열 수의 곱에서 동적으로 객체 생성

  8. 8

    동일한 솔루션의 콘솔 프로젝트에서 웹 프로젝트 함수를 호출하여 문제 C # 발생

  9. 9

    동적 속성에 대한 객체 값 기반의 배열 변경

  10. 10

    for 루프의 변수에 동적으로 함수 생성 / 연결 시도

  11. 11

    R에서 더미 변수 생성을위한 동적 함수

  12. 12

    동적으로 생성 된 배열 객체에 대한 JavaScript 액세스

  13. 13

    서비스 생성자에 동적 변수 전달

  14. 14

    for 루프에서 전달 된 변수 이름으로 객체 생성

  15. 15

    여러 변수에 대한 각 범주의 비율에 대한 변수 생성

  16. 16

    Javascript-객체에서 동적으로 생성 된 속성에 대해 반복

  17. 17

    동적으로 생성 된 행에 대한 계산 수행 (jQuery)

  18. 18

    동적으로 생성 된 이미지에 대한 jquery 함수

  19. 19

    동적으로 생성 된 양식에 대한 작업 수행

  20. 20

    자바 스크립트는 객체에서 동적으로 생성 된 함수

  21. 21

    한 C # 프로젝트에서 다른 프로젝트로 클래스를 가져올 때 자동 생성 된 파일을 제외 할 수 있습니까?

  22. 22

    비동기 대기에서 객체를 저장할 때 무한 루프

  23. 23

    Rails-다시 생성 된 프로젝트에서 bin / rails 생성이 작동하지 않습니다.

  24. 24

    bash에서 루프를 사용하여 pdftk에 대한 매개 변수 생성

  25. 25

    동적 생성 자바 스크립트에 대한 캐시 비활성화

  26. 26

    정확한 오류 : 루트 구성 요소에서 비동기 대기를 사용할 때 "객체가 자식으로 유효하지 않습니다. {} 키가있는 객체가 발생했습니다."

  27. 27

    솔루션 내에서 파일 참조를 프로젝트 참조로 자동 대체 할 수 있습니까?

  28. 28

    C ++에서 동적 객체 생성?

  29. 29

    QML에서 동적 객체 생성

뜨겁다태그

보관