如何将URL中的ID传递给Ruby中的form_tag?

时间:2009-04-17 15:38:20

标签: ruby-on-rails

我有一个操作,它将通过link_to包含供应商类的.id。

对于评论的不同控制器修改new()的操作需要将ID的值和会话[:user_id]传递到数据库中。

  • 如何获取vendor.id的值?可以不通过URL传递它并将其放在flash中吗?

  • 我是否使用隐藏值来传递会话[:user_id]?

2 个答案:

答案 0 :(得分:1)

我假设您可以从控制器操作中以params[:id]访问它?如果是这样,您应该可以在视图中以params[:id]的形式访问它。同上session[:user_id]

编辑:我想我可能误解了你的问题。您是否要求通过表单发回ID?或者可能没有网址中的ID?

答案 1 :(得分:0)

如果您在控制器之间传递参数,通常应将其作为参数传递。

<%= link_to "Link to other controller", other_path(@other, :some_param => param_value) %>

在你要链接的动作(这里是SHOW)中,你将能够访问:some_param as params [:some_param]。

从表单中,继续并包含一个隐藏字段(只要您稍后检查它是否有效,因为用户可以提交任何内容)。

无论哪种方式,都不要使用闪存存储会话状态 - 闪存仅用于用户消息。