2010-05-10 7 views

답변

1

내가 정확히 당신이 원하는 것을 이해 모르겠지만, 당신의 경로 파일의 경로를 잡기를 통과하지 않을 액션에 (또는 레일스 3의 라우트 파일에서 직접 수행) redirect_to 원하는 경로가 무엇입니까? song.rb에서 (모델) :

class Song < ActiveRecord::Base 

    before_create :create_secret_param 

    private 
    def create_secret_param 
    self.secret = rand(100000) 
    end 

end 

이 당신이 그것을 액세스하는 데 사용할 수있는 비밀 PARAM을 생성합니다

은이 같은 작업을 수행 할 수 있습니다 암호화하는 그래서

2를 타고 . 당신이 바로 응용 프로그램에 대한 세부 정보를 얻을 수있을 것이다하지만 song_controller.rb

def show 
    if param[:secret] 
    @song = Song.find param[:id], :conditions => {:secret => params[:secret]} 
    elsif # check if is user is ok or whatever 
    @song = Song.find param[:id] 
    redirect_to secret_song_url(:id => @song.id, :secret => @song.secret) 
    end 
end 

에서 routes.rb

map.secret_song ':id:secret', :controller => 'songs', :action => 'show', :id => /\d+/, :secret => /\d{5}/ 

에서

이것은 올바른 방향을 가리켜 야합니다.

+0

사이트에 플래시 플레이어가 있습니다. 요청한 노래 파일 (예 : 아마존) 요청을 수신하고 요청한 파일의 URL을 다시 형식 지정하고 형식 요청 URL을 계속 사용하도록 요청합니다. – danwoods

+0

나는 내가보고있는 것일 수 있다고 생각합니다. 더 자세히 설명해 주시겠습니까? 난 그냥 파일 URL을 암호화하려고 해요. – danwoods

+0

희망 2는 당신을 도와줍니다. –

관련 문제