2016-08-08 5 views
1

こんにちは私はレールを使い始めていて、現在ポストを好きなオプションでアプリケーションに取り組んでいます。投稿ごとに1のような動作を制限しようとしますが、アプリはユーザーを含んでいないので、誰でも投稿が好きなので、IPやセッションを使うのが最善の方法だと誰も私にガイドラインを教えてくれますか?Rails - ポストのIPアドレスごとの制限アクション

私の様作用

def like 
    @post = Post.find(params[:id]) 
    @post.likes += 1 
    @post.save 
    redirect_to root_path 
    end 

答えて

0

あなたはpost.likesは、彼らがすでにましたか否かを決定するために、要求元のIPが存在する配列を確認した後、IPアドレスの配列の代わりに、整数属性作ることができます投稿を「好き」だった。

さらにスケーラブルなソリューションを実現するには、「好きな」アクションを特定のUserに関連付けるメカニズムが必要です。これを達成するには、belongs_toUserPostLikeモデルが必要です。

+0

私はユーザーなしでそれを処理する方法はありません?アプリケーションの主な目的はユーザーなしで働くことです...編集:アレイのアイデアは、私が必要なもの、正確にありがとう! – MIkee

+0

'User'モデルなしでこれを達成する方法のアイデアについては、更新された答えを見てください。 –

+0

こんにちはクリス私はデータベースの代わりにintの配列として "好き"を格納するので私はPostrgreSQLを使用する必要がありますか? – MIkee

関連する問題