我的提交按钮如何自动将自己标记为 "Create User"
How did my submit button automatically label itself as "Create User"
也许这有一个简单的解释,但我很好奇我的用户 new.html.haml
提交按钮 knows/knew 如何在应用程序视图中自动将其标记为 "Create User"?这是一个 rails 约定,因为动作 and/or 路由来自 UsersController and/or 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
对于创建操作,Rails 约定表单提交按钮具有表单 "Create "。您可以通过在提交后添加一个字符串来覆盖它。
例如:
f.submit "Sign up"
标签由表单助手生成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"
也许这有一个简单的解释,但我很好奇我的用户 new.html.haml
提交按钮 knows/knew 如何在应用程序视图中自动将其标记为 "Create User"?这是一个 rails 约定,因为动作 and/or 路由来自 UsersController and/or 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
对于创建操作,Rails 约定表单提交按钮具有表单 "Create "。您可以通过在提交后添加一个字符串来覆盖它。
例如:
f.submit "Sign up"
标签由表单助手生成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"