将Rails参数传递给表单

时间:2012-02-28 00:36:09

标签: ruby-on-rails-3 forms parameters

我正在尝试传递两个变量以供嵌套模型表单使用,但是我收到了一个错误。这可能是一个简单的语法错误,有人经验可以立即看到,但我没有看到它。

我有一个显示用户的模板,如果你点击一个,它应该在表单中使用user_id和community _id。社区和用户都在控制器中正确声明。

链接到表单:

<%= link_to "award badge", award_badge_badges_path, :user_id => user.id, :community_id => @community.id %>

表单使用两种模式 - 徽章和徽章获胜者。 badge_winners需要user_id和community_id,它们嵌套在徽章中。我得到的错误是"undefined local variable or method 'user_id' for #<#<Class:0x77544c0>:0x7714230>"所以我认为表格中的第2行和第3行出了问题。这是表格:

<%= form_for(@badge) do |f| %>
<%= f.hidden_field :user_id ,:value => user_id %>
<%= f.hidden_field :community_id ,:value => community_id %>
    <%= f.label :Description %>
    <%= f.text_area :description %>

<%= f.fields_for :badge_winners do |builder| %>
    <%= render "badge_winner", :f => builder, :locals => {:user_id => user_id, :community_id => community_id} %>
<% end %>

<%= f.submit "Give Badge" %>
<% end %>

控制器中的show模板:

def award_badge
  @badge = Badge.new
  badge_winners = @badge.badge_winners.build
end

徽章获胜者部分

 <%= f.hidden_field :user_id ,:value => user_id %>
 <%= f.hidden_field :community_id ,:value => community_id %>

0 个答案:

没有答案
相关问题