我有一個Rails應用程序,其中我有一個表單show
操作。此show
操作使用一個視圖來檢查if user_type == "admin"
並相應地顯示部分。對於此show
視圖,只有if user_type = admin
可以訪問它。如何檢查Rails中的URL或路徑?
提交表單後,它會觸發同一控制器中的另一個操作(store
)。我遇到的問題是,當提交時出現錯誤時,store
呈現show
而未提及用戶,因此不會顯示partial,因爲user_type不等於admin(因爲它無法找到用戶) 。但是,由於訪問'show'受到保護,我想知道是否有方法可以檢查網址。
實施例: 形式是:
http://foo.com/bars/4/users/3
然而,當它出現故障時,呈現URL變爲:
http://foo.com/bars/4/users/store
的show.html.erb視圖具有這樣的:
<%= form_for([:bar,@user], :url => store_bar_users_path(params[:bar_id]), :html => {:name=>"users_form",:multipart => true,:class=> "standardForm"}) do |user| %>
<%= render :partial => "users/admin_options" if @user.user_type == "admin" %>
在store
控制器中的動作:
if [email protected]
render :action => "show" ,:layout => 'application'
else
所以,我想知道是,如果我可以在更改條件:
<%= render :partial => "users/admin_options" if @user.user_type == "admin" %>
以某種方式也還檢查該網址爲store_bar_users_path
,或類似的東西 - 或者在渲染store
操作不正確。