2016-12-01 12 views
1

私はもう一度それをします。私の質問のうち2つが昨日解決された後、別の人のために試してみましょう。今回私はRuby on Railsの更新機能にいくつか問題があります。更新後にテンプレートが見つかりません

したがって、主に更新がうまくいきます。それは新しいデータを保存し、すべてがうまくいきます。一つのことを期待してください:「保存」ボタンをクリックすると、フロントエンドで何も起こりません。私が言ったように、データは正しく更新されますが、私の意見ではredirectroot_pathにリダイレクトされています。私が間違っていることを教えてもらえますか?他のリダイレクト/レンダリングでいくつか試してみましたが、何もできませんでした。

def update 
    @resume = Resume.find(params[:id]) 
    if @resume.update_attributes(resume_params) 
     flash[:success] = 'The file has been updated!' 
     redirect_to root_path 
    else 
     render 'edit' 
    end 
    end 

そして、これは私がログになったエラーです:

このコードは、私のコントローラの一部である事前に

No template found for ResumesController#update, rendering head :no_content 
Completed 204 No Content in 96ms (ActiveRecord: 21.1ms) 

ありがとう!

+0

フロントエンドコードはどこですか?編集ページ? – lcguida

+0

'app/views/resumes/edit.html.erb'ビューをお持ちですか? – max

+0

'update_attributes'の代わりに' update'を使うべきです。後者は 'update'のエイリアスに過ぎず、これは互換性の理由からです。 – max

答えて

2

これは私にとってはうまくいきました。DBに保存されていれば、これはあなたにとっても必要なことです。 'Flash'の代わりに 'Alert'を使用します。あなたのコードに従ってコードを変更しました。

def update 
@resume = Resume.find(params[:id]) 
if @resume.update(profile_params) 
    redirect_to root_path, alert: "Your resume is saved!" 
else 
    render 'edit', alert: "Oops! There was a problem, please try again" 
end 
end 
関連する問題