比如我发起 new 的时候,会带一个参数 foos/new?bar_id=1
紧接着我保存,create 的时候同样需要 bar_id
请问这种情况,如何传递比较好?
我目前是在 new.html.erb 里面放一个 hidden input 解决。但总觉得麻烦,请问各位如何解决
比如你的表单是创建 User
<input name="user[bar_id]" type="hidden" value="<%= 你的值 %>">
可以用 helper 来生成这样的表单,这里手敲,懒得墨迹墨迹
action 里就
user= User.new(params[:user])
明白?
如果是多个对象
<input name="obj[bar_id]" type="hidden" value="<%= 你的值 %>"> obj = Obj.new(params[:obj]) user.obj << obj user.save
我也用 hidden input
一般都用 hidden input。更进一步,可以在 model 上加一个 virtual property (假设你传的这个值本来并不是 model 本身带的),这样 form 上这个 hidden field 直接跟其他 fields 一样用。