0

ユーザーとプロジェクトがあり、ActiveRecord 呼び出しを使用してプロジェクトを検索して、プロジェクトへのリンクを作成しようとしています。これは私の link_to です:

<%= link_to "Project ABC" User.first.projects.where('title' => 'Project ABC') %>

これがroutes.rbにないことはわかっているので、プロジェクトを取得して表示するためのクエリを作成するこのようなことを行うにはどうすればよいでしょうか? 私は次のようなことをしますか:

<%= link_to "Project ABC" show_project_path(User.first.projects.where('title' => 'Project ABC')) %>

もしそうなら、コントローラーに何か特別なものが必要ですか?

4

2 に答える 2

1

MVC パターンの理解を深める必要があります。

はい、コードは機能する可能性がありますが、機能することは良いことではありません。(最初の引数の後にカンマがありませんでしたが、スペルが間違っていると思います)

表示は現在のみです。あまり論理を知らなくても、ばかげているはずです。レストランに座っているクライアントのように、ビューは料理がどのように調理されたかを知らずにただ食べます。

MVC の方法は、コントローラーでそのような食品を準備し、インスタンス変数を使用してビューをフィードすることです。

# Controller
def show
  @project = User.projects.whatever
end

# View
<%= link_to "Project ABC", @project %>
于 2013-08-19T16:41:24.467 に答える