Rails控制器开发实用技巧
1. 在REST控制器中创建自定义操作
在默认情况下,创建新的REST控制器时,面向资源的路由配置会将我们限制在标准的七个操作中,即创建、更新、编辑、新建、索引、显示和销毁。若想为使用 resources() 方法约束路由的控制器添加自定义操作,可按以下步骤操作:
- 创建模型方法 :以音乐收藏应用为例,若要实现复制专辑信息的功能,可在 Album 模型中添加 copy 方法。
class Album < ActiveRecord::Base
def copy
self.class.new.tap do |new_album|
attributes.each do |key, value|
new_album.send("#{key}=", value) unless key == "id"
end
new_album.save
end
end
end
- 添加控制器操作 :在
AlbumsController中添加copy操作。
def copy
original_album = Album.find(params[:id])
@album = o
超级会员免费看
订阅专栏 解锁全文
972

被折叠的 条评论
为什么被折叠?



