mar*_*cgg 8 routing ruby-on-rails
我有一个用户模型.如果我做:
def my_action
@user = User.new
end
Run Code Online (Sandbox Code Playgroud)
然后
<% form_for(@user) do |f| %>
Run Code Online (Sandbox Code Playgroud)
我明白了
undefined method `users_path' for #<ActionView::Base:0x1b4b878>
Run Code Online (Sandbox Code Playgroud)
这是有道理的,因为我没有映射它map.resources :users....但我不想这样做,因为我不需要所有的资源.
我怎样才能user_path在我的路线中定义这个方法?
因为我来这里是为了寻找一种在 routes.rb 中创建助手的方法,所以这里是这样做的方法:
get '/users/:id/' =>'users#show', :as => :user
Run Code Online (Sandbox Code Playgroud)
您还可以自定义休息路线.例如,在我的应用程序中,只有索引和show动作适用于某些控制器.在我的routes.rb文件中,我有一些像这样的路线:
map.resources :announcements, :only => [:index, :show]
Run Code Online (Sandbox Code Playgroud)
你也可以使用,:except如果这更合适.
| 归档时间: |
|
| 查看次数: |
17137 次 |
| 最近记录: |