使用选择器ROR更改category_id

时间:2014-09-13 23:37:30

标签: ruby-on-rails ruby categories ruby-on-rails-4.1

我正在尝试使用可选类别保存帖子。但每次我创建一个新帖子时,都会使用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

提前致谢

1 个答案:

答案 0 :(得分:1)

我删除了

@category = Category.find_by(params[:category_id])

并更改了

@posts = @category.posts.build(post_params)

@posts = Post.create(post_params)

它有效。非常感谢您的帮助。