我的索引页面没有显示我的任何帖子(此处命名为)
但是,经过进一步的排查后,似乎根本没有创建我的帖子!
我尝试添加一个全新的帖子(fit),它给了我一个成功的消息但是我的索引没有显示所述帖子,在尝试导航到/ fits / X之后它给了我一个ActiveRecord :: RecordNotFound(错误如下)
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 :(得分:0)
我认为问题出在你的create方法中。您没有保存记录。创建变量,然后确保保存它。
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