def index
@project = Project.where(id: params[:id]).first
email = {:email => 'test@mail.com'}
respond_to do |format|
format.json { render :json => @project }
end
end
运行应用程序时,我会得到如下结果:
{"project":{"id":1, "name" => "project name"}}
现在我希望将email
作为@project
json中的附加属性包含在内。
{"project":{"id":1, "name" => "project name", "email" => "test@mail.com"}}
请注意,email
不是表格字段。
怎么做?
抱歉我的英文不好
答案 0 :(得分:0)
这不可能以您描述的方式进行,至少在没有制作新表单字段的情况下,或者没有想要使用浏览器工具编辑自己的表单的用户。
我认为您的意思是您已经拥有与项目相关联的电子邮件,并且您希望将其与其他信息一起保存到数据库中。如果是这种情况,那么您可以在控制器(创建操作)或模型中处理。我更喜欢控制器,因为无论如何你都明确地从数据库中提取东西。
您可以在@project.email = #{some logic that goes and gets it here}
之前执行类似@project.save
的操作。
如果重要的是人们无法伪造哪个电子邮件与哪个项目相关联,也不要使用隐藏字段将电子邮件发送到JSON。