2

送信を押したときにこのエラーが表示されるのはなぜですか? これを修正する方法はありますか?? これらは私には正しいようです...

ID のない女の子が見つかりませんでした

パラメータを渡す私の見解

<%=form_for :girls, url: url_for( :controller => :girls, :action => :comment ) do |f| %>

    <div class="field">
      <%= f.label :body %><br />
      <%= f.text_field :body %>
    </div> 

    <%= f.hidden_field :id, :value => @girl.id %>


  <div class="actions">
    <%= f.submit %>

<% end %>

コントローラーのコメントアクション

  def comment
   @girl = Girl.find(params[:girls][:id] )
   @user_who_commented = current_user
   @comment = Comment.build_from( @girl, @user_who_commented.id, params[:girls][:body] )
   redirect_to :controller => 'girls', :action => 'show', :id => params[:girls][:id]
   flash[:notice] = "comment added!"
  end

私のルート

Example::Application.routes.draw do

 root :to => "top#index" 
 devise_for :users, :controllers => { :registrations => "registrations" }

 get 'girls', :to => 'girls#index', :as => :user_root
 match '/girls/comment' => 'girls#comment', :via => :post
 get "girls/show"
 resources :girls
 resources :home

 devise_for :users do get 'logout' => 'devise/sessions#destroy' end

 resources :girls do 
   collection do
     get 'tag'
   end
 end

end
4

1 に答える 1

2

このようにコードを変更します

@comment = Comment.build_from( @girl, @user_who_commented.id, params[:girls][:body] )
@comment.save
redirect_to :controller => 'girls', :action => 'show', :id => params[:girls][:id]
于 2012-07-08T05:52:05.923 に答える