【问题标题】:Ruby on Rails: form and radio button questionRuby on Rails:表单和单选按钮问题
【发布时间】:2010-09-06 15:48:16
【问题描述】:

我有一个围绕项目列表的表单。我想选中列表中的单选按钮,然后单击“提交”后,转到所选项目的“编辑”页面。

问题是,如果我在写类似

<%= form_tag edit_item_path %>

但 Rails 抱怨我没有提供正确的 id,而这又在我的单选按钮上设置如下:

<%= radio_button 'item', 'id', item.id %>

那么 - 我如何将具有选定 ID 的表单发送到给定操作?

【问题讨论】:

    标签: ruby-on-rails forms radio-button


    【解决方案1】:

    按照您描述的方式进行操作是行不通的,因为 edit_item_path 默认 RESTful 路径定义是一个 GET 请求。您正在尝试使其成为 POST 请求。如果您想坚持 RESTful 做事方式,我建议您简单地循环浏览您的项目并提供编辑链接,因为您打算一次编辑一个。否则,如果您希望在表单中使用单选按钮执行操作,则必须定义新路由。如果你是,那么你会在你的 config/routes.rb 中添加这样的东西:(假设你使用的是 rails 2.3.x)

    map.resources :items, :member =>{:edit_radio_form => :post}

    你的表单看起来像这样: &lt;%= form_tag edit_radio_form_item_path do |form| %&gt; 它应该可以工作,但它不是正确的做事方式,原因有几个,其中最烦人的一个是你不会在编辑页面上获得完整的 URL,因为你是带着 POST 请求到达那里的,所以如果你刷新页面,你的 item id 参数将消失并产生错误。

    【讨论】:

      猜你喜欢
      • 2011-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多