2011-04-26 3 views
0
<p> 
    <%= f.label :website_name %><br /> 
    <%= f.text_field :website_name %> 
    </p> 
    <p> 
    <%= f.label :website_type %><br /> 
    <%= f.select :website_type, Media::ALL_MEDIA_TYPES, :include_blank => true %> 
    </p> 

    <p> 
    <%= f.label :media_link %><br /> 
    <%= f.text_field :media_link %> 
</p> 

여기에 내가 드롭 다운에서 옵션을 선택의 "media_link"의 패턴을 설정합니다. 드롭 다운에서 페이스 북을 선택하면 media_link는 페이스 북 링크 패턴 만 받아 들여야합니다. 예 : http://www.facebook.com/stevemaddon. 드롭 다운 옵션은 블로그 또는 트위터가 될 수 있습니다.드롭 다운 상자에서 텍스트 필드를 변경하는 방법은 무엇입니까?

감사합니다,

+0

사용자가 텍스트 필드에 텍스트를 설정하려고하거나 텍스트 필드에 텍스트를 검증하기 위해 노력하고 있습니까? 전자는 Javascript로 작성됩니다. 후자는 모델에서 사용자 정의 유효성 검사를 수행하는 것이 가장 좋습니다. 모델이 없다면 컨트롤러 논리로 충분할 것입니다. –

+0

텍스트의 유효성을 검사하려고합니다. 나는 모델을 가지고 있으므로 이것으로 메소드를 작성해야한다고 생각하십니까 ?? – user659068

답변

0

내가 동적 또는 무엇이 작업을 수행하려는 경우 잘 모르겠지만, 이것을 가지고이 어떻게하는지 말해, 당신과 함께 진짜거야/작동하지 않습니다 너를 위해서.

input = [:media_link] 
if params[:website_type] == #Facebook website_type id 
    if !input["facebook.com/"] #Or whatever regexp you want to use 
    redirect_to :back, flash[:message] => "Must be a Facebook URL" 
    end 
end 
if params[:website_type] == #Twitter website_type id 
    if !input[/^http:\/\/twitter\.com\/(?:#!\/)?(\w+)\/status(es)?\/(\d+)$/] 
    redirect_to :back, flash[:message] => "Must be a Twitter URL" 
    end 
end 
+0

새 페이지에이 모든 자격 증명을 추가하겠습니다. 그래서 경우 사용자는 아래 다음 텍스트 필드 media_link는이 패턴 "/^HTTP해야 드롭 트위터를 선택하면 : (: (# \ /?!) (\ + w) \/상태 \/\/트위터 \ .COM \ /를? ES)? \/(\ D +) $/"또는 페이스 북 – user659068

+0

같은 다른이는 동적 검증해야 하는가? 자바 스크립트와 마찬가지로 그 패턴을 입력하는 것만 가능합니까? , social_media_handle : 당신은 단어를 계속 나를 이렇게 –

+0

** validates_format_of을 생각하게하는 "수용"=> /^http:\/\/twitter\.com\/(?:#!\/)?(\w+로 ?) \/상태 (들) \/(\ D +) $의 /, => 않는 : social_media ** 데프 social_media self.social_media_handle.match (/ 트위터 /) 끝 . 위의 질문에 대해, 지금은 지저귐에 대해서만 이것을 사용하고 있습니다. 어떻게 페이스 북과 블로그와 같은 다른 옵션을 위해 할 수 있을까요 ?? – user659068

0

나는 같은 것을 할 것 :

관련 문제