Ruby on rails 3 您获得未定义方法的可能原因是什么';模型名路径';在rails 3中使用表单_时出错?
据我所知,我不明白为什么我会有这样的错误,一切都按它应该的方式设置好了 这是我得到的错误: 在/短/新时的命名错误 未定义的方法“短路路径”#Ruby on rails 3 您获得未定义方法的可能原因是什么';模型名路径';在rails 3中使用表单_时出错?,ruby-on-rails-3,form-for,Ruby On Rails 3,Form For,据我所知,我不明白为什么我会有这样的错误,一切都按它应该的方式设置好了 这是我得到的错误: 在/短/新时的命名错误 未定义的方法“短路路径”# 我的模特很矮,不是短裤 当我运行rake路由时,没有shorts\u路径,所以我不确定这个助手来自哪里。当控制器的def new部分中定义了@short时,我不明白为什么的表单_会给我这个错误 有人能给我解释一下吗 先谢谢你 这就是我的控制器的外观 class ShortController < ApplicationController
shorts\u路径
,所以我不确定这个助手来自哪里。当控制器的def new
部分中定义了@short
时,我不明白为什么的表单_会给我这个错误
class ShortController < ApplicationController
def show
@short = Short.find(params[:id].to_i(36))
respond_to do |format|
#redirect directly to the url stored as long in the database
format.html { redirect_to @short.long}
end
end
def new
@short = Short.new
respond_to do |format|
format.html # new.html.erb
end
end
def create
@short = Short.new(params[:short])
respond_to do |format|
if @short.save
format.html { render action: "show" }
else
format.html { render action: "new" }
end
end
end
end
在视图中呈现的新表单部分
<%= form_for(@short) do |f| %>
<% if @short.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@short.errors.count,"error") %> prohibited this url from being saved:</h2>
<ul>
<% @short.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="form-field">
<%= f.label "Enter your URL" %><br />
<%= f.text_field :long %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
禁止保存此url:
出现此错误是因为(@short)的form\u将尝试使用名为short\u path
的路径助手将表单路由到表单需要到达的位置。您的config/routes.rb
文件中缺少此路由定义:
resources :shorts
请阅读手册和指南,其中应说明您遗漏的内容
resources :shorts