hexawing 2009-04-27 17:49
浏览 162
已采纳

ROR里,一个页面校验另一个模型中字段的值怎么弄啊?

虽然我知道这样做本身就不科学,但又不知道正确的做法,于是只好这样凑合来。
现在的问题是如果我留空提交,只会出来Rails的报错页面,而不会出现我写的<%= error_messages_for "xxx" %>这样的结果。
请问到底应该怎样做呢?

  • 写回答

2条回答 默认 最新

  • horace_lee 2009-04-27 21:05
    关注

    虽然,不是太懂你的问题。 :wink:

    但是,我可以在一个view里,点击一次提交,验证两个model的属性。当然,提交的form也得,是写到两个model里了。

    不能同时提示错误信息,但都能提示,效果如下:

    [img]/upload/attachment/98394/ad07ae1a-c493-31a4-85f6-90251059023c.png[/img]

    [img]/upload/attachment/98398/815131ca-13bf-3b8c-8fae-3deb0d9e9fc3.png[/img]

    相关代码如下:
    view:
    [code="ruby"]<%= error_messages_for 'product' %>
    <%= error_messages_for 'user' %>

    Title

    Name:

    <%= text_field 'user', 'name' %>

    Description

    Image url

    Price

    <!--[eoform:product]-->[/code]

    外层:
    [code="ruby"]<% form_tag :action => 'create' do %>
    <%= render :partial => 'form' %>
    <%= submit_tag "Create" %>
    <% end %>[/code]

    conroller:
    [code="ruby"] def create
    @user = User.new(params[:user])
    @product = Product.new(params[:product])
    if @product.save && @user.save #这里有逻辑错误,如果product成功,user失败,product会保存。这部分留给你吧,毕竟你的问题不是这个。
    flash[:notice] = 'Product was successfully created.'
    redirect_to :action => 'list'
    else
    render :action => 'new'
    end
    end[/code]

    model:
    [code="ruby"]
    class User < ActiveRecord::Base

    validates_presence_of :name
    validates_uniqueness_of :name

    attr_accessor :password_confirmation
    validates_confirmation_of :password

    #....

    class Product < ActiveRecord::Base

    has_many :orders, :through => :line_items

    has_many :line_items

    def self.find_products_for_sale
    find(:all, :order => "title")
    end

    validates_presence_of :title, :description, :image_url
    [/code]
    希望有帮助吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥15 统计大规模图中的完全子图问题
  • ¥15 使用LM2596制作降压电路,一个能运行,一个不能
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路
  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错
  • ¥20 @microsoft/fetch-event-source 流式响应问题
  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式