2014-11-15 2 views
0

그래서 발전기를 쓰고 있습니다.이스케이프 된 문자열에서 문자열 이스케이프?

'모델'이름을 생성하려면 생성기로 보내야합니다. 이러한 레일을 바탕으로

rails g my_custom_generator foo 

또는

rails g my_custom_generator bar 

로, 나는 # {class_name을}를 사용하여 선택한 이름에 대한 모델을 만들 수 있습니다.

{class_name}은 (는) 선택에 따라 foo 또는 bar가됩니다.

아직 나와 함께 있니? 큰. 내 질문은 다음과 같습니다 :

편집 양식을 생성하고 싶습니다, 그리고 이미 이스케이프 된 문자열에 모델 이름을 채우고 싶습니다. 비슷한 :

f.input :name, value="#{@model.name}" 

위의 코드는 이미 이와 같습니다. 지금은 발전기에 대한 번역을하고 싶습니다

하지만 작동하지 않습니다. 누구든지 이미 이스케이프 문자열을 탈출하는 방법을 알고 있습니까? 여기서 취하는 접근 방식은 무엇입니까?

답변

0

당신이 따옴표를 사용하여 탈출 피할 수 있음을 기억하십시오 : 당신이 한 라운드에 대한 평가를 연기하고자하는 경우 그래서

"#{@model.name}" 
# => "Test" 
'#{@model.name}' 
# => "\#{@model.name}" 

을, 당신은 그런 식으로 탈출하거나 더 리터럴 버전을 확인해야합니다 :

"\#{@#{class_name}.name}" 

발전기 시스템에서 계획 한대로 정확하게 작동하는지는 모르지만 두 번 평가할 수 있습니다. 테스트 해봐야 겠어.

0

다양한 소스 (thisthis)는 파일이 너무 <%= 외부 이러한 파일 루비 문자열 보간을 사용 %> 쓸모, ERB에서 처리로부터 발생 될 수 있음을 나타낸다. 그래서 같은

스플 라이스를 :

f.input :name, value=#"{@<%= class_name %>.name}" 
관련 문제