0
私は以下のことを行う正しい方法を探しています。レールのアドバイスレンダリングの表示
def show
@photo = Photo.find params[:photo_id]
end
私はすべて同じコントローラのアクションを使用して4つの異なる見解を持っている:
は、私は本当にだけのようなデータベースのエントリを取得するコントローラのアクション「ショー」を持っています。私はこれをどのように実装しますか?私は二つの方法を考えている
:
2)
def show
@photo = Photo.find params[:photo_id]
respond_to |view|
view.one {render ...view1}
view.two {render ...view2}
view.three {render ...view3}
view.four {render ...view4}
end
end
respond_to使用...
def show
@photo = Photo.find params[:photo_id]
case params[:view]
when 'view1'
render ...view1
when 'view2'
render ...view2
when 'view3'
render ...view3
when 'view4'
render ...view4
end
...または:
1)は、URLパラメータを使用します
...まったく違う何か?
教えてください。
「正解」を定義してください - これはかなり賛成しているようです。 – Li357
最初のオプションは可能です。ただし、ビュー・パラムを渡す以外の差別化要因がある場合は、それを使用してください。たとえば、wheatherユーザーがサインインしていること、写真が特定の属性を持っていること、iserが管理者であることなどに基づいて異なるビューを表示することなどが、これを維持する方が簡単な方法です。 –
@ andrew-l - あなたの意見を教えてください。 – martin