0

users/newを使用して、ページをディレクトリにリダイレクトしようとしていますが、button_to クリックするたびに、というエラーが生成されます

ルーティング エラー

[GET] "/new_user_path" に一致するルートはありません

これが私が話しているapplication.html.hamlを含む私のものですbutton_to

%html

%head
%title Rotten Potatoes!
= stylesheet_link_tag 'application'
= javascript_include_tag 'application'
= csrf_meta_tags


%body
%h1.title Rotten Potatoes!

= button_to 'Sign Up/Login', 'new_user_path', :method => :get

#main
  - if flash[:notice]
    #notice.message= flash[:notice]
  - elsif flash[:warning]
    #warning.message= flash[:warning]

  = yield

これが私の結果ですrake routes

    movies   GET    /movies(.:format)           movies#index
             POST   /movies(.:format)           movies#create
   new_movie GET    /movies/new(.:format)       movies#new
  edit_movie GET    /movies/:id/edit(.:format)  movies#edit
       movie GET    /movies/:id(.:format)       movies#show
             PUT    /movies/:id(.:format)       movies#update
             DELETE /movies/:id(.:format)       movies#destroy
       users GET    /users(.:format)            users#index
             POST   /users(.:format)            users#create
    new_user GET    /users/new(.:format)        users#new
   edit_user GET    /users/:id/edit(.:format)   users#edit
        user GET    /users/:id(.:format)        users#show
             PUT    /users/:id(.:format)        users#update
             DELETE /users/:id(.:format)        users#destroy

それが役立つ場合、これは私のusers_controller.rbファイルです

class UsersController < ApplicationController

  def new
  end

  def create
  @user=User.create_user!(params[:user])

      if !!(@user)
      flash[:notice] = "New user #{@user.user_id} was successfully created."
      redirect_to movies_path
    else
      flash[:notice] = "The User Id #{params[:user][:user_id]} already exists"
      redirect_to new_user_path
    end
  end

end

redirect_to new_user_path(条件ステートメントを使用した)は完全に正常に機能することに注意してください。

問題がどこにあるのか教えていただけますか?また、私link_toも使ってみましたが、それでも失敗します。

4

1 に答える 1

1

button_to の引数new_user_path()は、文字列ではなくメソッドにする必要があります'new_user_path'か?

于 2013-10-03T23:34:33.630 に答える