2013-08-19 4 views
0

뷰의 목록에있는 다른 팀을 나열하는 레일 애플리케이션이 있습니다. 팀은 링크이며 URL에 사용됩니다. 예를 들어 localhost:3000/teams/chelsea은 "chelsea"를 표시합니다.HTML URL 이스케이프 사용 안 함 방법

나는 URL이 같다 있도록 모든 공간을 탈출 링크를 클릭 할 때 팀이 man utd라는있는 경우 :

localhost:3000/teams/<script>man%20utd 

하지만 난 그냥이

localhost:3000/teams/<script>man utd 

이되고 싶어요를 내 코드는 다음과 같습니다.

다른 질문을 읽은 후 html_safe을 사용해 보았습니다. 또한 raw하지만 운이 없었습니다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

+2

, 즉 URL 인코딩입니다. URL에 공백을 넣을 수 없습니다. 레일스는 정적 URL을 관리 할 수 ​​있어야합니다. config/routes.rb를 게시 할 수 있습니까? – Slicedpan

+0

Slicedpan의 설명이 정확합니다. 이것은 Ruby 나 Rails와는 아무런 관련이 없습니다. 브라우저가 URL을 자동으로 인코딩하므로 사용자가이를 막을 수있는 방법이 없습니다. – Mischa

+0

또한 user2527785

답변

0

URL에 공백을 넣지 않고 대신 "man-utd"로 사용하십시오. Spaces in URLs?

링크를 작성하는 더 많은 방법이 있습니다. 당신의 팀이 데이터베이스 모델이 있다면 나는 그들을 쓰는 것 :

<% @teams.each do |team| %> 
    <%= link_to team.name, team %> 
<% end %> 

하지만 그/팀/1 팀/2 등으로 연결됩니다 당신은 매핑 할 특정 경로에 넣어해야합니다/팀/첼시/팀/1. 그냥 유나이티드 사람과 첼시에 대해 별도의 견해로 일을 한 경우

다음을 수행하십시오

HTML 회피 아니에요
<%= link_to 'Man Utd', :controller => 'teams', :action => 'man-utd' %> 
<%= link_to 'Chelsea', :controller => 'teams', :action => 'chelsea' %> 
관련 문제