我有_form.html.erb
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :password %>
<%= f.password_field :password %>
现在,如果我在主页中呈现此表单,则HTML代码应为:
<label for="session_name">Name</label>
<input id="session_name" name="session[name]" size="30" type="text">
...
如果我将_form.html.erb更改为:
<%= f.label :name %>
<%= f.text_field :name, disabled: true %>
...
HTML代码应为:
...
<input disabled="disabled" id="session_name" name="session[name]" size="30" type="text">
...
但是,我不想更改我的_form.html.erb,那么如何将disabled: true
传递给我的表单?我尝试使用render partial:
但不知道语法。
我只学习Ruby on Rails两周,所以请帮助我。
答案 0 :(得分:0)
在应用程序助手中,添加方法 -
def add_disabled
#i suppose that u want the field to be disabled in the users controller for edit action but not for other controllers or actions
return "disabled='disabled'" if params[:controller] == "users" and params[:action] == "edit"
end
_form.html.haml 中的
= f.text_field :name, #{add_disabled}
这将调用辅助方法并返回&#34; 禁用=&#39;禁用&#39; &#34;取决于控制器和动作