我正在使用rails 2.3.11。我在模型博客
中使用了text_field_with_autocomplete <% remote_form_for :blog, :url => {:controller => "blogs", :action =>"add_blog"} do |f|%>
<%= f.text_field :title, :class => "admtxt1 wd1 lfloat" %>
<%= text_field_with_auto_complete "user_login", :login, { :size => 15}, { :url => {:controller => 'users', :action => 'autocomplete_for_blogowners'}, :method => :get, :param_name => 'term', :indicator => "spinner"} %>
<%= submit_tag "Save", :class => "btn-small margintop10" %>
<%end%>
在blogs_controller中,我有
的add_blog动作 def add_blog
unless params[:blog].nil?
@blog = Blog.new(params[:blog])
@user = User.find_by_login(params["user_login"][:login])
@blog.owner = @user
end
respond_to do |format|
if @blog.save
@saved = true
format.js { render :action => 'add_blog' }
else
@saved = nil
format.js { render :action => 'add_blog' }
end
end
end
在我的add_blog.js.rjs文件中
if @saved.nil?
page.replace_html 'message','<div id="msg" class = "textcolor3">' + @blog.errors.full_messages.join('<br />') + '</div>'
else
page.replace_html 'message','<div id="msg" class = "h3txt textcolor3"> Blog created successfully </div>'
end
我的博客表有id,title,owner_id
我的模型有验证 validates_presence_of:owner_id,:title
以上代码与所有者的验证完全无效
但它没有检查错误的用户
例如。如果我正在输入这样的用户不存在的东西。在这种情况下,如果我提交的表格中没有找到任何结果,那么即使我得到所有者也不应该是空白。
如何在这种情况下检查用户是否存在,并将其添加到错误消息中。
答案 0 :(得分:0)
你的代码很奇怪。你为什么不使用Rails 3? 你为什么不使用REST和CRUD? 抱歉,最好绝对重写代码。
好像是php代码,你用过php吗?