只要每個表格都使用正確的模型對象和/或:url
選項的正確值進行呈現,則每個表單都應發送預期請求(假設您使用form_for
呈現表單)。
例如,您的登錄表單應該像這樣開始::
<%= form_for :session, :url => sessions_path %>
#...
<% end %>
只要POST
請求(從表單提交默認)發送到「收藏」資源(即/sessions
)它會將請求路由到您的SessionsController
中的create
操作或任何您命名爲控制器的操作。
簽署了,你可能有這樣的事情:
<%= form_for @user do |f| %>
# ...
<% end %>
的@user
模型對象將承擔該請求應該去/users
。再次,這會將您的create
操作稱爲您的UsersController
。
當然,這一切還假設你config/routes.rb
文件僅僅是聲明的每個資源的東西,如:
resources :users
resources :sessions, :only => [:create, :destroy]
您通常在諸如
match 'sign_in', :to => 'sessions#new'
match 'sign_up', :to => 'users#new'
但如果單獨視圖每個窗體您只想在index.html.erb
視圖中顯示這些表單,那麼這些路由就不再需要了。
你還有這個問題嗎?詢問是因爲你不接受我的答案。 – veidt
@amesee - 參見http://www.reddit。com/- 註冊頁面,都登錄並註冊在同一頁面上,我看起來像這樣 –
這只是在同一頁面上顯示兩種表單的問題。一個用於登錄,另一個用於註冊,其中每個表單分別向'sessions/create'或'users/create'發送請求。這個頁面上的兩個答案都很好地解釋瞭如何做到這一點。你用鐵軌不夠熟悉這一點嗎?我的意思是用戶身份驗證和用戶創建的問題在幾乎所有關於rails書籍和教程的介紹中都得到了解決。 – veidt