【问题标题】:Not sure what's wrong with my form_for不确定我的 form_for 有什么问题
【发布时间】:2013-08-13 00:43:22
【问题描述】:

在一组餐食的布局中,我有以下代码:

  <tr class="food food-tr-<%= meal_food.id %>">
    <td><%= meal_food.name  %></td>
    <td>
      <% form_for :meal_food, meal_food, url: { controller: "foods", action: "update" }, html: { class: "meal_food_servings-#{meal_food.id}" } do |f| %>
        <%= f.number_field :servings %>
      <% end %>

    </td>
    <td><%= pluralize(meal_food.serving_size, meal_food.measure_type) %></td>
    <td><%= meal_food.fat    %></td>
    <td><%= meal_food.carbs  %></td>
    <td><%= meal_food.protien %> </td>
    <td><%= link_to "x", food_path(meal_food.id), method: :delete, remote: true %> </td>
  </tr>

在第二个 td 单元格中,我试图呈现一个提交给食品更新操作的小表单。

我一直遇到的错误是在尝试在这些表单所在的位置呈现膳食显示页面时出现的错误。

wrong number of arguments (3 for 2)

我正在按照此处 http://guides.rubyonrails.org/v2.3.11/form_helpers.html#binding-a-form-to-an-object 的 rails 指南中的示例进行操作

当我放

<%= meal_food %> 

它输出一个meal_food 对象引用。所以我不确定这是否是问题所在。

谢谢!

--------- Routes.rb

      mount RailsAdmin::Engine => '/admin', :as => 'rails_admin'

      resources :status_updates do 
        collection do 
          delete :delete_all
        end
      end

      resources :meals  
      resources :foods do
        collection do
          get :search
        end
      end


      devise_for :users, :controllers => { :registrations => "registrations" }

      root to: 'static_pages#home'
      match '/faq', to: 'static_pages#faq'
      match '/contact', to: 'static_pages#contact'

【问题讨论】:

  • 给我看看你的 routes.rb 文件,这样我就可以清楚地看到你在做什么。

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1


【解决方案1】:

试试这个:

<%= form_for meal_food, url: food_url(meal_food.id) html: { class: "meal_food_servings-#{meal_food.id}" } do |f| %>

【讨论】:

  • 得到这个错误 undefined method `meal_food_path' for #:0x007fc1edcb3660>
  • 我使用 food 作为一种父级原型,用于 meal_foods,所以现在没有 meal_foods 控制器。只是一个处理所有食物类型的食物控制器。可能是一个错误:S
  • 给我看看你的 routes.rb 文件,这样我就可以清楚地看到你在做什么。
  • 天才!现在我需要阅读 food_url 以了解它是什么。谢谢!
  • @ninja08 阅读有关 Rails 指南中的路由:guides.rubyonrails.org/routing.html 这是您在 routes.rb 文件中调用 resources :foods 时自动生成的 url 助手。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-23
  • 1970-01-01
  • 1970-01-01
  • 2022-06-10
  • 2018-09-18
相关资源
最近更新 更多