我正在创建一个项目,我有一个类online_score
,它的属性之一是一个名为url
online_score_url
个对象的数组。我到目前为止所做的是以下内容。代码可能有点脏,因为我不断尝试新事物,但是一旦我开始工作,我就会清理它。
视图/ online_score /新:
<h3>Links: </h3>
<div class="urlInput">
<%f.fields_for :url do |f| %>
<div class="inputset">
<%= f.label :url %> <%= f.url_field :url, :value => "http://www.google.be"%>
<%= f.label :description %> <%= f.text_field :description %>
<%= link_to_remove_fields "remove", f %>
</div>
<%end %>
<%= add_url_link "Add Another link", f %> #works fine if I remove this rule
</div>
视图/ online_score / _online_score_url_fields:
<%= f.fields_for :item do |b| %>
<div class="inputset">
<%= b.label :url %> <%= b.url_field :url, :value => "http://www.google.be"%>
<%= b.label :description %> <%#= b.text_field :description %>
<%= link_to_remove_fields "remove", b %>
</div>
<% end %>
我现在的问题是,我希望能够动态添加我尝试用JQuery做的online_score_url
个对象的输入。我尝试通过渲染部分来做到这一点:
助手/ online_scores_helper.rb:
def add_url_link(name, f)
link_to_function name do |page|
item = OnlineScoreUrl.new("", "")
instrument_online_score = render :partial => "online_score_url_fields", :locals => {:f => f, :item => item}
page << %{
$('.links').append("#{ escape_javascript online_score_url }");
}
end
end
现在的问题是它出现以下错误:
Online_scores中的ActionController :: RoutingError #new
显示/home/kvhooreb/jenna_vopro/score/app/views/online_scores/new.html.erb,其中line&gt;#22募集:
没有路线匹配{:action =&gt;“show”,:controller =&gt;“online_scores”,:locale =&gt;:en} 提取的来源(第22行):
19: 20:&lt;%#= render“online_score_url_fields”,:f =&gt; f%&gt; 21:&lt;%end%&gt; 22:&lt;%= add_url_link“添加另一个链接”,f%&gt; 23: 24:
25: Rails.root:/ home / kvhooreb / jenna_vopro / score应用程序跟踪|框架跟踪|完整追踪 app / helpers / online_scores_helper.rb:20:in
block in add_url_link' app/helpers/online_scores_helper.rb:15:in
add_url_link' app / views / online_scores / new.html.erb:22:inblock in >_app_views_online_scores_new_html_erb__1492671958001855269_22836400_2958786211230549542' app/views/online_scores/new.html.erb:3:in >
_ app_views_online_scores_new_html_erb__1492671958001855269_22836400_2958786211230549542' 请求参数:
{ “片”=&gt; “中1”, “区域设置”=&gt; “中EN”}
现在我不知道是什么原因引起的。有没有人有想法? 谢谢你的时间。
答案 0 :(得分:2)
根据您提供的信息,我将假设问题出在app/helpers/online_scores_helper.rb
,具体来说,这一行:
$('.links').append("#{ escape_javascript online_score_url }");
如果您为online_scores定义了标准资源,则要么指的是特定的在线分数记录online_score_url(online_score.id)
,要么参考在线分数列表online_score_urls
。
online_score_url
,单数形式,通常会期望id
以呈现路线。没有它,您将收到错误消息:
"No route matches {:action=>"show", :controller=>"online_scores", :locale=>:en} Extracted source (around line #22):"