【发布时间】:2014-02-27 19:34:44
【问题描述】:
我是 ruby on rails 的新手,并且正在阅读 Rails 教程这本书以及来自 pragmatic studio 的 Rails Programming。但是对于我的项目,我现在需要找到解决方案,很遗憾我不能花更多时间在研究上。
我的问题是,一旦我能够添加、显示和编辑表单,我就会被指示创建部分表单,即 _forms.html.erb,然后在编辑、显示和新页面上呈现这些表单。
在我的 _forms.html.erb 部分中,我如何根据要呈现表单的页面使用 if 语句来实现一些流程。
例如,当为显示页面呈现 _form.html.erb 时,我希望将某些 form_for 标签/字段设置为只读:true。在表单的底部,我还想根据页面提交、编辑、更改按钮。
到目前为止,我正在尝试使用 parems[:action] == "new" 或 "edit" 等来实现控制流,如下所示:
edit.html.erb文件下的旧代码:
<%= f.label :patform_type %>
<%= f.text_field :patform_type,autofocus: true %>
_form.html.erb 文件下的新代码:
<%= f.label :patform_type %>
<%= f.text_field :patform_type %>
<% if params[:action] == "new" %>
<%= ,autofocus: true %>
<% end %>
我的原始代码受到这些帖子的影响: Rails not editable text field How to disable all form_for input fields in Ruby on Rails app?
一旦我做对了,我希望我可以用它来包裹其他元素,如提交、编辑按钮等或其他字段。
另外,如果有人知道更好的方法,请告诉我,因为我不知道我不知道什么。
感谢您提供的任何帮助/想法。
【问题讨论】:
标签: ruby-on-rails