2
假设我有两个:has_and_belongs_to_many
模型通过简单的索引表连接起来。这是我的routes.rb是什么样子:Rails中的RESTful habtm关系
match "foo/:id" => "foos#create", :via => :post
match "foo/:id" => "foos#update", :via => :put
match "foo/:id" => "foos#read", :via => :get
match "foo/:id" => "foos#delete", :via => :delete
match "foos/:id/bars" => "foos#add_bar", :via => :post
而最后的路由(一个问题)的方法add_bar
映射到其预期酒吧的JSON表示的foo_controller.rb:
def add_bar
@bar = Bar.find(params[:bar][:id])
if @bar.nil?
@bar = Bar.create(params[:bar])
validation_error(@bar.errors) unless @bar.valid?
@bar.save!
end
@foo.bars << @bar
@foo.save!
respond(ResponseCode::OK, @bar)
end
这有意义吗?我将匹配推送到rails中的集合的行为,但从RESTful的角度来看,我感觉很肮脏。也许我错了。思考?