所以经过一段时间后会有轻微的头痛。我能够得到一个Rails
版本的表格。虽然我能够让它工作,但我不知道它是否是最好的做法,因为感觉有点偏。我的网站上有一个用于在目标网页上注册的表单。着陆页为static_pages#home
。我为我的用户控件_new.html.erb
创建了一个已包含在我的目标网页上的部分内容。这是我的表格:
<!-- Main Form -->
<div class="login-form-1">
<!-- <form id="register-form" class="text-left"> -->
<div class="login-form-main-message"></div>
<div class="main-login-form">
<div class="login-group">
<%= form_for(@user) do |f| %>
<div class="form-group">
<%= f.text_field :first_name, :class => "form-control", :placeholder => "First Name" %>
</div>
<div class="form-group">
<%= f.text_field :last_name, :class => "form-control", :placeholder => "Last Name" %>
</div>
<div class="form-group">
<%= f.text_field :user_name, :class => "form-control", :placeholder => "User Name" %>
</div>
<div class="form-group">
<%= f.email_field :email, :class => "form-control", :placeholder => "Email" %>
</div>
</div>
<button class="login-button"><%= f.submit "", :class => "remove-button" %></button>
<% end %>
</div>
<div class="etc-login-form">
<p>already have an account? <a href="#">login here</a></p>
</div>
<!-- </form> -->
</div>
<!-- end:Main Form -->
这有点乱,因为我添加了很多样式。需要注意的是我如何呈现form_for
。我已将@user
的对象传递给它。通常情况下,此@user
会在Users#new
操作中找到;但是,使此表单正常运行的唯一方法是让Static_pages#home
通过设置@user = User.new
来处理它。这样做似乎不正确,但是,我似乎找不到更好的方法来解决这个问题。最初我要做的就是提交此表单,点击Users#create
操作。我已尝试传递form_for
(:用户,:用户,&#34; / users&#34;),但在尝试此操作时尝试点击Static_pages#create
操作。
总而言之,我的问题围绕着这是否是一种正确的处理方式,如果不是更合适的方式。同样,我能够让这个工作,但这是通过每次访问我的目标网页@user = User.new
时设置Static_pages#home
。感谢您抽出宝贵时间回答这个问题。
答案 0 :(得分:0)
这是好的,完全可以接受。我甚至想写form_for User.new
。
请记住,在大多数&#34;现实&#34;页面,可以找到超过1个资源。例如。 about页面上的登录表单,posts页面上的标签云,因此控制器可能需要检索多于一种类型的对象。
从理论上讲,如果您的网页由断开连接/独立区域组成(例如,1个区域=帖子及其评论,另一个是最新评论列表),您还可以考虑使用cells。< / p>