質問

私は単に理解できないルーティングエラーがあります!誰かが非常に感謝される解決策を提案できるなら、それは私の頭を抱いています。

私はエラーを取得します:ルーティングエラーはルートなし一致しません

次のボタンから:

<p><%= link_to "Create from template", create_from_template_project_path %></p>

routes.rbで私は持っています:

  resources :projects do
    member do
      get 'create_from_template'
    end
  end

クラスProjectScontrollerでは私が持っています:

  def create_from_template
    #@project = Project.find(params[:template_id])
    #@project.clone
    redirect_to projects_path
  end

私が「レーキルート」をするときにも現れます

create_from_template_project GET    /projects/:id/create_from_template(.:format) {:action=>"create_from_template", :controller=>"projects"}

なぜそれが機能していないのか誰か考えがありますか?

編集:実際には、「メンバー」ネストされたリソースルーティングルールを誤解しているかもしれません。私はプロジェクトを渡していませんでした。ボタンを変更しました

   <p><%= link_to "Create from template", create_from_template_project_path(template_project) %></p>

そして今、それは機能します。助けてくれたみんなに感謝します。

役に立ちましたか?

解決

テンプレートアクションを作成するためにプロジェクトに合格する必要がない場合は、次のように変更ボタンを変更します。

 <%= link_to "Create from template", create_from_template_projects_path %> 
の代わりに、ルートで
 member do 
使用する必要があります
 collection do 

使用する場合 member do routes.rbで、Prasvinが言及したように、link_toでプロジェクトを渡す必要があります

他のヒント

link_toと一緒にパスでプロジェクトを送信してみてください

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top