0

次のようなリンクを生成する必要があります

タスク/新規/1

しかし、私のlink_toは次のようなリンクを生成します

<%= link_to "", {:controller => "tasks", :action => "new", :pid => project.id } %>

タスク/新しい?pid=1

私は何をする必要がありますか?

4

2 に答える 2

0

「tasks/new / 1」へのリンクは、実際には安らかなものではありません。データベースによって提供されるIDがわからないため、新しいリンクでIDが指定されることはありません。慣例により、リソースの背後にあるIDは、リレーションではなく、そのリソースに属します。

安らかな方法は

/ projects / 1 / tasks / new

これは、正しいルーティングを設定することで実現できます。

こちらをご覧ください:http://edgeguides.rubyonrails.org/routing.html

そして、見出しのネストされたリソースを検索します。

于 2012-08-26T08:44:46.053 に答える
0

リソース プロジェクトとタスクがネストされていると仮定しました。

<%= link_to 'New Task', new_project_task(project) %>

このリンクはパスを作成する必要があります/projects/1/tasks/new

短い形式は

<%= link_to 'New Task', [:new, @project, :task] %>

ルートファイルには

resources :projects do
  resources :tasks
end
于 2012-08-26T09:03:09.260 に答える