首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails,动态用户定义字段

Rails,动态用户定义字段
EN

Stack Overflow用户
提问于 2012-11-29 01:09:20
回答 2查看 175关注 0票数 1

我的问题如下:

我有两个型号:产品和品牌。当前在产品表单中,用户能够选择其产品的品牌(通过选择列表)。但如果该品牌不存在,他可以通过单击重定向到该品牌/新表单的链接来创建一个新的品牌。

有没有办法直接处理产品配方中缺少的品牌创建?

我希望我说得够清楚了。

谢谢你的回答。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-29 01:19:56

在表单本身中,您可以允许用户从下拉中选择品牌,或者在文本字段中键入新品牌的名称。我会使用无线电来强制用户执行这两个操作中的一个,而不是两个。<option>元素将具有与品牌名称相对应的值,而不是品牌ID。

然后,在Rails方面,您可以使用find_or_create_by_name,假设您的品牌名称是唯一的:

代码语言:javascript
复制
# assuming a params structure like params[:product][:brand_name]
class Product < ActiveRecord::Base
  def brand_name=(name)
    self.brand = Brand.find_or_create_by_name(name)
  end
end

控制器仍然会简单地做这样的事情:

代码语言:javascript
复制
@product = Product.new(params[:product])
票数 1
EN

Stack Overflow用户

发布于 2012-11-29 01:24:58

我个人会使用jQuery来做这样的事情。让用户从选择列表中选择类似"New Brand“的内容,然后显示输入提示。使用AJAX创建新品牌,然后在表单中重新创建选择了新品牌的品牌列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13610614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档