私はRailsのに非常に新しいですし、私はこのまわりで私の頭を取得するように見えることはできません。私は、様々なプロジェクトは、様々なクライアントに所属していRuby on Rails 3でスコープを組み合わせる方法は?
。
scope :search_by_name, lambda { |fn| where('name LIKE ?', "%#{fn}%") }
scope :search_by_client, lambda { |fn| where('client_id LIKE ?', fn) }
の両方が動作するようです:私のプロジェクトモデルで
は、私は2つの検索機能を持っています。 URLの例では、私はこのクエリに渡すことができます。私は同じようにこれを行うことができます
/projects?search_by_name=fooproject
:
/projects?search_by_client_name=misterx
これはクライアント MisterXに属するすべてのプロジェクト得られます。
今への道はfoofooを名前付きクエリ
/projects?search=foofoo
がfoofooだけでなく、クライアントに属するプロジェクトという名前のプロジェクトを取得するようにこれらの2つの検索機能を組み合わせるありますか?
ありがとうございました!
あなたのコントローラーはどんな感じですか? –
このように: '@projects = current_user.projects.search_by_name(params [:name])。search_by_client(params [:client])' – Tintin81