我的目标是找到一种在提交表单中添加新字段的方法,以收集图片所在的国家/地区。我希望使用act-as-taggable-on gem时,任何标记可以使用包含该标记的项目导致页面的相同方式使该国家/地区可搜索。我在10月初尝试https://github.com/harrisongill/whatyoutheat/commits/master时做了一些非常非常误导的尝试。
理想情况下,我希望它看起来像你去http://community.whatyoutheat.com/pins/10这样的页面时,不仅有描述,作者和标签之类的行,而且还有一个类似于标签工作原理的国家/地区
任何帮助将不胜感激。我对某些涉及行为的行为持开放态度等等。
答案 0 :(得分:0)
容易腻。看看你的代码,没什么可做的。
首先,您需要country
的虚拟属性,因为它是您的数据库中不存在的字段,据我所知,不需要。而且因为它是rails 3,你需要让它可以访问。接下来,您将在提交之前将国家/地区名称与标签列表合并。
就是这样。
步骤1 - 在模型中添加虚拟属性
attr_accessor :country
步骤2 - 在模型
中访问该属性attr_accessible :description, :image, :image_remote_url, :tag_list, :country
步骤3 - 在控制器#create
中提交之前,将国家/地区名称附加到标签列表params[:pin][:tag_list] = params[:pin][:tag_list] + ", " + params[:pin][:country]
params.delete :country
@pin = current_user.pins.new(params[:pin])
还要记住在Show中替换标签列表以创建指向标签的链接。
<p>Tags: <%= raw @pin.tag_list.map { |t| link_to t, tag_path(t) }.join(', ') %></p>