【发布时间】:2016-02-04 22:16:28
【问题描述】:
我正在构建一个 Rails 应用程序,该应用程序有一个在两个对象下创建/嵌套的对象。
Routes.rb
resources :pages do
resources :referralpages do
resources :rewards do
end
end
end
我刚刚添加了奖励资源,并将其用于创建新奖励的表单
<%= form_for ([@referralpage, @reward]) do |f| %>
<% if @reward.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@reward.errors.count, "error") %> prohibited this reward from being saved:</h2>
<ul>
<% @reward.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="form-group">
<%= f.label :name %><br>
<%= f.text_field :name, class: "form-control" %>
</div>
<div class="form-group">
<%= f.label :level %><br>
<%= f.text_field :level, class: "form-control" %>
</div>
<div class="form-group">
<%= f.label :dscount %><br>
<%= f.text_field :discount, class: "form-control" %>
</div>
<div class="actions">
<%= f.submit class: "btn btn-primary" %>
</div>
<% end %>
我需要帮助来让 form_for ([@referralpage, @reward]) 部分正常工作。
这是我在点击新奖励按钮时收到的错误消息:
undefined method `referralpage_rewards_path'
<%= form_for ([@referralpage, @reward]) do |f| %>
我的猜测是它路由到了错误的路径。让它工作的正确语法是什么?
我认为它应该渲染这条路径
new_page_referralpage_reward
此功能的重点是在referral/show.html.erb页面中呈现奖励
我在我的奖励视图文件中创建了一个索引部分,并在referpages/show.html.erb 文件的显示操作中呈现它。
【问题讨论】:
标签: ruby-on-rails nested-forms nested-resources