gpt4 book ai didi

ruby-on-rails - 在一个 View 中跟踪多个表单

转载 作者:数据小太阳 更新时间:2023-10-29 07:48:15 25 4
gpt4 key购买 nike

我有 index 方法显示两种形式 Sign inSign up,这意味着用户可以创建一个帐户并从同一个地方。

所以我有 users controllerindex 方法,显示带有 Sign inSign up 表单的 View 有两个部分,一个是 _signin.html.erbindex.html.erb 中的 _signup.html.erb

任何想法我如何处理 userssessions Controller 的 newcreate 方法(可能是我可以忽略新方法)?

最佳答案

只要每个表单都使用正确的模型对象和/或 :url 选项的正确值呈现,每个表单都应该发送预期的请求(假设您正在呈现您的表单使用 form_for)。

例如,您的登录表单应该以这样的内容开头::

<%= form_for :session, :url => sessions_path %>
#...
<% end %>

只要 POST 请求(表单提交的默认请求)被发送到“集合”资源(即 /sessions),它就会将请求路由到在您的 SessionsController 或您为 Controller 命名的任何名称中创建 操作。

对于注册,你可能有这样的事情:

<%= form_for @user do |f| %>
# ...
<% end %>

@user 模型对象将假定请求应该转到 /users。同样,这将在您的 UsersController 中调用您的 create 操作。

当然,所有这一切还假设您的 config/routes.rb 文件只是使用如下内容声明每个资源:

resources :users
resources :sessions, :only => [:create, :destroy]

您通常将每个表单放在单独的 View 中,例如

match 'sign_in', :to => 'sessions#new'
match 'sign_up', :to => 'users#new'

但是如果您只想在 index.html.erb View 中显示这些表单,那么这些路由就不再需要了。

关于ruby-on-rails - 在一个 View 中跟踪多个表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16848748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com