在Rails中,是否可以将节目视图用作编辑视图?
这里是Rails的新手,如果这很简单,请原谅。 我很难找到答案,在我深入潜水之前我想知道。
我打算构建的应用程序不会真正区分“显示”视图和“编辑”视图。 在大多数情况下,我会有条目列表(索引视图),您只需直接点击编辑视图。 没有“显示”视图是必要的。
对于大多数应用程序来说都是这样的。 但是仍然会有一些部分需要“显示”视图。
是否可以设置这样的路由结构?
如果不需要show视图,您可以简单地告诉routes.rb
的资源路由不包含它,例如:
resources :users, :except => :show
例如,如果要在编辑和显示中使用相同的视图,则可以执行以下操作:
def show @user = User.find(params[:id]) render :action => 'edit' end
这将在show动作被命中时使用edit.html.erb
文件,但在我看来,你最好的选择是选择你打算使用的视图并省略routes.rb
的另一个routes.rb
。
如果您只想在两个视图之间共享大量视图代码,但仍然可以区分它们,只需将Partials用于共享代码即可。
是的,您并不总是必须使用所有7个操作。
路由示例:
resources :users, except: :show
控制器:
def edit @user = User.find(params[:id]) end def update @user = User.find(params[:id]) if @user.update_attributes(params[:user]) redirect_to edit_user_path(@user) else ... end end
正常情况下将表单添加到编辑视图中,并将其他任何内容添加到您的节目视图中。
是的 – 您只需将表单部分添加到显示页面即可。 这很常见。
- rails 3 / postgres – 如果不应用,则为字符串多长时间:模式中的限制
- 如何将remote_form_for的:update =>’div_id’选项从Rails 2升级到Rails 3?
- 未初始化的常量ShopifyAPI :: CustomerGroup :: Customers错误
- 如何更改ActiveAdmin路由ID的约束?
- 如何检测Rails 3路由中的整数?
- 移动到生产服务器的Rails app会出现“符号转储格式错误”错误
- RMagick抱怨在OSX中找不到libMagickCore.5.dylib
- 如何将PostgreSQL / bin目录放在Windows的路径中?
- 上传OLE2签名的Roo电子表格无效