当我尝试使用带有我的rails blogging app的paperclip上传时,我收到此错误.当它说"MissingRequiredValidatorError"时,不知道它是指什么我认为通过更新post_params并给它:image它会没事,因为创建和更新都使用post_params
Paperclip::Errors::MissingRequiredValidatorError in PostsController#create
Paperclip::Errors::MissingRequiredValidatorError
Extracted source (around line #30):
def create
@post = Post.new(post_params)
Run Code Online (Sandbox Code Playgroud)
这是我的posts_controller.rb
def update
@post = Post.find(params[:id])
if @post.update(post_params)
redirect_to action: :show, id: @post.id
else
render 'edit'
end
end
def new
@post = Post.new
end
def create
@post = Post.new(post_params)
if @post.save
redirect_to action: :show, id: @post.id
else
render 'new'
end
end
#...
private
def post_params
params.require(:post).permit(:title, :text, :image)
end
Run Code Online (Sandbox Code Playgroud)
这是我的帖子助手
module PostsHelper
def post_params
params.require(:post).permit(:title, :body, :tag_list, :image)
end
end
Run Code Online (Sandbox Code Playgroud)
如果我能补充额外的材料来帮助你,请告诉我.
我试图在我的rails博客中添加标记模型.但是我意外地生成了一个"Tags.rb"模型而不是"Tag.rb",在阅读了指南之后,我意识到制作"标签"复数在模型方面是个错误.我使用了回滚迁移
rake db:rollback
Run Code Online (Sandbox Code Playgroud)
然后
rails destroy model Tags.rb
Run Code Online (Sandbox Code Playgroud)
这就是我回来的原因
invoke active_record
remove /home/migration/templates/create_table_migration.rb
remove app/models/tags.rb.rb
invoke test_unit
remove test/models/tags.rb_test.rb
remove test/fixtures/tags.rbs.yml
Run Code Online (Sandbox Code Playgroud)
当我回到模型文件夹,虽然它仍然存在.请帮忙 :)
所以我决定在我的RoR博客中构建一个标记系统.按照入门官方导轨指南,我跟进一个来自jumpstartlabs http://tutorials.jumpstartlab.com/projects/blogger.html#i3:-tagging 我基本上使用'join table'方法来映射很多帖子有很多标签,很多标签都有很多帖子关系
这是我得到的错误
ActiveRecord::StatementInvalid in Posts#show
Showing /home/nadia/blog/app/views/posts/show.html.erb where line #8 raised:
SQLite3::SQLException: no such column: taggings.post_id: SELECT "tags".* FROM "tags" INNER JOIN "taggings" ON "tags"."id" = "taggings"."tag_id" WHERE "taggings"."post_id" = ?
Extracted source (around line #8):
6 <p>
7 Tags:
8 <% @post.tags.each do |tag| %>
9 <%= link_to tag.name, tag_path(tag) %>
10 <% end %>
11 </p>
Run Code Online (Sandbox Code Playgroud)
这是我的tags_controller
1 class TagsController < ApplicationController
2
3 def show
4 @tag = Tag.find(params[:id])
5 end
6 end
Run Code Online (Sandbox Code Playgroud)
post_controller …