我正在尝试使用可选类别保存帖子。但每次我创建一个新帖子时,都会使用category_id“1”创建帖子。
视图
<%= form_for(@posts) do |f| %>
<%= f.text_field :title, placeholder: "Title" %>
<%= f.collection_select :category_id, Category.all, :id, :name, :prompt => 'Please select a category' %>
<%= f.submit 'Save' %>
控制器
def new
@posts = Post.new
end
def create
@category = Category.find_by(params[:category_id])
@posts = @category.posts.build(post_params)
@posts.save
redirect_to :back
end
private
def post_params
params.require(:post).permit(:title)
end
类别 - 模型
has_many :posts
后模型
belongs_to :categorys
提前致谢
答案 0 :(得分:1)
我删除了
@category = Category.find_by(params[:category_id])
并更改了
@posts = @category.posts.build(post_params)
到
@posts = Post.create(post_params)
它有效。非常感谢您的帮助。