Rails 关于参数传递的问题

jock · March 15, 2013 · Last by ashchan replied at March 15, 2013 · 2067 hits

比如我发起 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 一样用。

You need to Sign in before reply, if you don't have an account, please Sign up first.