2009-07-16 10 views
0

ユーザーがurlを送信すると、これはscaffold createメソッドを通じてarticle.urlに入れられます。私はそうのようなURLを解析することができます:私はやることを好むだろうどのようなレコードを保存した後に新しい行を作成する

def parse_url 
    elements = @article.url.split("/") 
    if(elements[0] == "http:") 
    @home = elements[2] #elements[1] will be an empty string because of the // in the URL 
    else 
    @home = elements[0] 
    end 
end 

は、ユーザーがメソッドを作成し、記事で、データベースに新しい行にこの値を挿入して、それを保存した後、URLを解析することです表。

+0

具体的にお答えください。あなたはデータベースに挿入する方法を尋ねていますか? –

+0

誰かが投稿したと言います。http://www.nyt.com/1234この値をdbに保存します。さらに、www.nyt.comへのURLを解析し、その値を対応するarticle_idのdbの新しい行に保存します。 –

+0

Articleクラス

答えて

2

私は次のようなものを使用したい:あなたはRailsのフォームでunparsed_url使用したい

class Article 
    attr_accessor :unparsed_url 

    before_validation_on_save :parse_url 

    private 

    def parse_url 
    return unless unparsed_url 

    elements = unparsed_url.split("/") 
    if(elements[0] == "http:") 
     self.home = elements[2] 
    else 
     self.home = elements[0] 
    end 
    end 
end 

。このような仮想属性を使用すると、フォームの検証でうまく動作します。

関連する問題