也许这有一个简单的解释,但我很好奇我的用户new.html.haml
提交按钮如何知道/知道在应用程序视图中自动将其标记为“创建用户”?这是一个rails convension,因为action和/或路由来自UsersController和/或UserModel?
用户new.html.haml
%h1 Sign up
= form_for @user do |f|
- if @user.errors.any?
.error_messages
%h2 Form is invalid
%ul
- for message in @user.errors.full_messages
%li= message
%p
= f.label :email
%br/
= f.text_field :email
%p
= f.label :password
%br/
= f.password_field :password
%p
= f.label :password_confirmation
%br/
= f.password_field :password_confirmation
%p.button= f.submit
答案 0 :(得分:2)
对于创建操作,表单提交按钮的Rails约定为“创建”形式。您可以通过在提交后添加字符串来覆盖它。
例如:
f.submit "Sign up"
答案 1 :(得分:1)
标签由表单助手form_for
生成。它知道您的模型(@user
)以及它是保存还是更新操作。
请参阅 https://github.com/rails/rails/blob/9f44aa08636dfbba9261f4350ec14684425c4b7b/actionview/lib/action_view/helpers/form_helper.rb#L1814 提交助手和 https://github.com/rails/rails/blob/9f44aa08636dfbba9261f4350ec14684425c4b7b/actionview/lib/action_view/helpers/form_helper.rb#L1873 如何创建标签。
您可以传递自己的标签:
f.submit "DO THIS NOW"