在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 

正常情况下将表单添加到编辑视图中,并将其他任何内容添加到您的节目视图中。

是的 – 您只需将表单部分添加到显示页面即可。 这很常见。