Rails如何在保存后隐藏表单?

时间:2017-04-04 23:43:30

标签: ruby-on-rails ruby ruby-on-rails-3

情况就是这样:

模型/ product.rb

belongs_to :brand

模型/ brand.rb

has_many :products

控制器/ products_controller.rb

class ProductsController < ApplicationController 
  def new
    @product = Product.new
    @brands = Brand.all
  end

  def create
    @product = Product.new(params[:product])
    if @product.save  
      redirect_to :show
    else
      render :new, format: :html
    end
  end    
end

在产品创建上,用户可以添加品牌名称,如果用户在下次创建产品时添加品牌名称,则品牌的表单不会再显示。

有人想知道如何在铁轨上做这样的事情吗?

1 个答案:

答案 0 :(得分:0)

您需要在视图中添加一些内容。

使用品牌形式的条件:

form @product do |f|
  f.text_field :name


  if not @product.new_record?
    f.select_field :brand_id, @brands, :id
  end
end