Rails 关于参数传递的问题

jock · 2013年03月15日 · 最后由 ashchan 回复于 2013年03月15日 · 2073 次阅读

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

需要 登录 后方可回复, 如果你还没有账号请 注册新账号