一个快速的 Rails 问题,我希望得到你们的帮助。一直在寻找答案,对于我认为的解决方案来说,那里的一切似乎有点复杂。我有两个页面使用模型(用户)和每个页面上的表单,在保存时更新不同的属性。
一个人更新他们的密码详细信息(验证是否存在密码)
一个人更新了他们的测验答案(验证最多 300 个字符)
如何进行条件验证,以便在我提交表单时,验证出现在各自的页面上?我需要两个单独的动作吗?如何将这些操作链接到表单提交?
这是通用更新操作和表单:
用户控制器
def update
@user = User.find(params[:id])
if @user.update_attributes(params[:user])
flash[:success] = "All is updated"
sign_in @user
redirect_to @user
else
render 'edit'
end
end
形式
<p><h3>Linked-In Optimization</h3></p>
<%= form_for(@user) do |form| %>
<p><%= form.label :linkedin, 'Please copy and paste your Linked-In profile here (575 chars max.)' %></p>
<p><%= form.text_area :linkedin %></p>
<%= form.submit 'Save' %>
<img class="linkedin" src="/linkedin.png">
<% end %>