2013-02-12 30 views
2

這裏是Rails的新手,如果這很簡單,不好意思。我很難找到答案,在深入探究之前我想知道答案。在Rails中,是否可以使用show view作爲編輯視圖?

我打算構建的應用程序不會真正區分「顯示」視圖和「編輯」視圖。大多數情況下,我會列出條目(索引視圖),您只需直接點擊編輯視圖。沒有'秀'的看法是必要的。

這將是這樣的大多數應用程序。儘管如此,仍然會有一些部分需要「顯示」視圖。

是否可以建立這樣的路由結構?

回答

3

如果一個節目的看法是沒有必要的,你可以簡單地告訴資源路線routes.rb不包括它,如:

resources :users, :except => :show 

如果你想使用相同的看法兩個編輯和節目,在show動作,例如,你可以這樣做:

def show 
    @user = User.find(params[:id]) 
    render :action => 'edit' 
end 

這將使用edit.html.erb文件時顯示的動作被擊中,但在我看來,最好的選擇是來接你打算使用視圖並省略其他在你的routes.rb

如果您只是想在兩個視圖之間共享很多視圖代碼,但仍然區分它們,請使用Partials作爲共享代碼。

1

是 - 您只需將表單部分添加到顯示頁面。這很常見。

3

是的,你並不總是必須使用全部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 

的形式添加到編輯視圖正常和其他任何你會把你的放映視圖。

相關問題