0

アプリからこのエラーが表示されますが、なぜ発生するのかわかりません。また、私のアプリは指定されていないルートに移動します(コードが多い場合は申し訳ありません)。これは私のroutes.rbです:

Estaciones::Application.routes.draw do
  devise_for :users

   root :to => "user#index"
     resources :user do
     resources :car
   end

   get "user/new"
   post "user/create"
  get "user/:id" => "User#show"
end

これが私のユーザーコントローラーです(ここで問題はありませんが、参照のみです):

Class UserController < ApplicationController
  def new
    @user = User.new
  end

  def create
    @user = User.new(params[:user])
    if @car.save
      redirect_to :action => :show, :id => @user.id
    else
      redirect_to new_user_path
    end
  end

  def show
    @user = User.find(params[:id])
  end
end

...私の車のコントローラー:

class CarController < ApplicationController
  def new
    @car = Car.new
  end

  def create
    @user = User.find(params[:user_id])
    @car = @user.car.create(params[:car])
    if @car.save
      redirect_to :action => :show, :id => @user.id
    else
      redirect_to user_path(@user)
    end
  end
end

これは私の一部ですhtml.erb

<h2>new car registration</h2>

  <%= form_for([@user, @user.car.build]) do |f| %>
  <p>
  <%= f.label :brand %><br />
  <%= f.text_field :brand %>
</p>
<p>
  <%= f.label :color %><br />
  <%= f.text_field :color %>
</p>
<p>
  <%= f.label :model %><br />
  <%= f.text_field :model %>
</p>
<p>
  <%= f.label :year %><br />
  <%= f.text_field :year %>
</p>
<p>
  <%= f.submit "Create new car"%>
</p>

私のインデックスは単なるテストですが、これがあります

<h1>WELCOME TO TANKING CONTROL ONLINE</h1>
<p>
  <strong>for new users </strong>
  <%= link_to 'sign up', :action => :new %>
</p>

ユーザー登録のフォームはこちら

<%= form_for :user, :url => { :action => :create } do |f| %>
  <p>
    <%= f.label :name %>
    <%= f.text_field :name %>
  </p>

  <p>
    <%= f.label :email %>
    <%= f.text_field :email %>
  </p>

  <p>
    <%= f.label :password %>
    <%= f.password_field :password %>
  </p>

  <p>
    <%= f.submit %>
  </p>
  <br>

  <%= link_to '<<Back', :action => :index %>
<% end %>
4

1 に答える 1

2

CarController にアクション 'index' がありません..

def index
end

「cars」ビューに「index.html.erb」があることを確認してください。

[更新] あなたのルートは

resources :users do
  resources :cars
end

ユーザーと車の数に注意してください。

于 2012-07-19T16:30:27.533 に答える