您好我正在尝试学习Rails并且我遵循本教程 - > http://vimeo.com/10732081解释了如何构建博客页面。我使用Rails 4.1和PostsController是:
class PostsController < ApplicationController
respond_to :html
def index
@posts = Post.order("created_at desc")
respond_with @posts
end
def create
Post.create(params[:post])
redirect_to posts_path
end
end
当我使用此.erb页面创建新帖子时:
<h1>Create a new post</h1>
<%= form_for Post.new do |form| %>
<%= form.text_field :title %>
<%= form.text_area :body %>
<%= form.submit %>
<% end %>
它会抛出ActiveModel :: ForbiddenAttributesError
谷歌搜索后(包括Stackoverflow中的页面)我发现添加类似
的内容params.permit post: [:title, :body]
是必要的,但不确定在何处放置此方法以及应使用哪些参数。看起来所有的答案都假设我已经知道Ruby和Rails,但我不知道,我是新手。我需要帮助,谢谢。
答案 0 :(得分:1)
试试这个:
# app/controllers/posts_controller.rb
def create
Post.create(post_params)
redirect_to posts_path
end
private
def post_params
params.require(:post).permit(:title, :body)
end