我确定我只是在这里遗漏了一些简单的东西,但我终究无法弄清楚是什么。
我有一个可以更新模型属性的表单。
<%= form_for @gf do |f| %>
<div class="form-field">
<%= f.text_field :first_name, :placeholder => "First Name" %>
</div>
<div class="form-field">
<%= f.text_field :last_name, :placeholder => "Last Name" %>
</div>
<div class="form-field">
<%= f.text_field :address_line_one, :placeholder => "Address" %>
</div>
<div class="form-field">
<%= f.text_field :address_line_two, :placeholder => "Address (second line)" %>
</div>
<div class="form-field">
<%= f.text_field :city, :placeholder => "City" %>
</div>
<div class="form-field">
<%= f.text_field :state, :placeholder => "State" %>
</div>
<div class="form-field">
<%= f.text_field :zip_code, :placeholder => "Zip Code" %>
</div>
<div class="form-field">
<%= f.text_field :phone_number, :placeholder => "Phone Number" %>
</div>
<div class="form-field">
<%= f.submit "Submit" %>
</div>
<%end%>
相关的控制者是
def home
if current_user.girlfriends.all.count == 0
@gf = Girlfriend.new
@gf.user_id = current_user.id
else
@gf = current_user.girlfriends.first
end
end
def new
raise
end
def create
raise
end
def update
raise
end
def delete
raise
end
在我的路由
文件中
resources :girlfriends
表单位于 /home
页面上,因此 @gf
变量已正确设置。表单使用适当的属性填写适当的字段。但是 - 当我点击 Submit
时没有任何反应。 URL 没有变化,页面上没有任何操作,我没有在我的任何 CRUD 操作中点击 raise
....我错过了什么?在此先感谢您的帮助。
编辑:这是实际呈现的 HTML。
<form accept-charset="UTF-8" action="/girlfriends/1" class="edit_girlfriend" id="edit_girlfriend_1" method="post"><div style="display:none"><input name="utf8" type="hidden" value="✓" /><input name="_method" type="hidden" value="patch" /><input name="authenticity_token" type="hidden" value="CIPzkLLWwmclyOwKpkphMJ5u8Saxhx6ajDq/NvW8Lfc=" /></div>
<div class="form-field">
<input id="girlfriend_first_name" name="girlfriend[first_name]" placeholder="First Name" type="text" value="Melissa" />
</div>
<div class="form-field">
<input id="girlfriend_last_name" name="girlfriend[last_name]" placeholder="Last Name" type="text" />
</div>
<div class="form-field">
<input id="girlfriend_address_line_one" name="girlfriend[address_line_one]" placeholder="Address" type="text" />
</div>
<div class="form-field">
<input id="girlfriend_address_line_two" name="girlfriend[address_line_two]" placeholder="Address (second line)" type="text" />
</div>
<div class="form-field">
<input id="girlfriend_city" name="girlfriend[city]" placeholder="City" type="text" />
</div>
<div class="form-field">
<input id="girlfriend_state" name="girlfriend[state]" placeholder="State" type="text" />
</div>
<div class="form-field">
<input id="girlfriend_zip_code" name="girlfriend[zip_code]" placeholder="Zip Code" type="text" />
</div>
<div class="form-field">
<input id="girlfriend_phone_number" name="girlfriend[phone_number]" placeholder="Phone Number" type="text" />
</div>
<div class="form-field">
<input name="commit" type="submit" value="Submit" />
</div>
最佳答案
听起来您的页面上有 JavaScript 阻止提交表单。
关于ruby-on-rails - Rails form_for 提交按钮什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28270447/