2017-03-26 58 views
0

我的索引頁面不顯示我的任何職位(這裏命名適合)定期RecordNotFound錯誤

然而,經過進一步的故障排除,看來並非在所有創建我的帖子!

我試着添加一個全新的帖子(適合),它給了我一個成功的消息,但是我的索引不顯示所述帖子,並且在嘗試導航到/ fits/X後,它給了我一個ActiveRecord :: RecordNotFound(Error以下)

Extracted source (around line #56):    
def set_fit 
    @fit = Fit.find(params[:id]) 
end 

我的控制器看起來像這樣

def new 
    @fit = current_user.fits.build 
end 

def create 
    if @fit = current_user.fits.build(fit_params) 
     flash[:success] = "Your fit has been created!" 
     redirect_to fits_path 
    else 
     flash.now[:alert] = "Error adding fit! Please check fields." 
     render :new 
    end 
end 

,這是我的模型

class Fit < ActiveRecord::Base 
validates :user_id, presence: true 
validates :image, presence: true 

belongs_to :user 

has_many :comments, dependent: :destroy 

has_attached_file :image, styles: { :medium => "600x" } 
validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/ 
end 

我也將此添加到我的routes.rb。這可能是問題嗎? (由於沒有評論已被添加)

Rails.application.routes.draw do 
devise_for :users, :controllers => { registrations: 'registrations' } 
resources :fits do 
    resources :comments 
end 

root 'fits#index' 
end 

我一直在抓我的頭,在這個過去一小時,並很努力想出解決辦法!即使我相信這是一些小事,但我完全可以忽略它。

如果您需要訪問其他任何東西,我已將它推送到github。 https://github.com/thgilartlU/MFID

在此先感謝!

回答

0

我相信問題出在您的創建方法中。您沒有保存該記錄。創建變量,然後確保保存它。

def create 
    @fit = current_user.fits.build(fit_params) 
    if @fit.save 
     flash[:success] = "Your fit has been created!" 
     redirect_to fits_path 
    else 
     flash.now[:alert] = "Error adding fit! Please check fields." 
     render :new 
    end 
end 
+0

非常感謝!我知道這是我忽略的一些小事。 – Ultralight

相關問題