在Ruby on Rails中,是否可以更改RESTful资源的默认操作,因此,例如,当有人进入/ books时,它会获取:new而不是列表(我不在乎这是否意味着无法再显示列表了吗?
答案 0 :(得分:2)
不确定你为什么会这样做,但只需添加这个
map.connect "/books", :controller => "books", :action => "new", :conditions => { :method => :get}
到
之前的config / routes.rbmap.resources :books
它应该有用。
答案 1 :(得分:2)
我要指出的是,如果你指向/ books / new,你会让任何期待REST的人感到困惑。如果您不是一个人工作,或者如果您以后有其他人加入,或者您希望向外部公开API,则REST约定是/ books将您带到列表,/ books / new是在哪里创建新记录。
答案 2 :(得分:0)
是。您应该能够在控制器中替换索引方法......
def index
@resource = Resource.new
# have your index template with they proper form
end
答案 3 :(得分:0)
同样,你可以做到
def index
show
end
答案 4 :(得分:0)
def index
redirect_to new_book_path
end
我认为这是最简单的方法。