我有一个带有Ruby 1.8.7的rails 3.1应用程序。我正在尝试通过ajax创建联系人,但不断收到模板错误。
ActionView::MissingTemplate (Missing template contacts/create, application/create with {:handlers=>[:coffee, :builder, :erb], :locale=>[:en, :en], :formats=>[:html]}. Searched in:
* "/Users/Me/Sites/t3/app/views"
):
表格:
<%= form_for @contact, :remote => true do |f| %>
<%= f.hidden_field :customer_id, :value => @customer.id %>
<table>
<tr>
<td class="pten">
<%= f.text_field :first_name, :style => "width:120px;", :class => "contact_input" %>
</td>
<td class="pten">
<%= f.text_field :last_name, :style => "width:120px;", :class => "contact_input" %>
</td>
<td class="pten">
<%= f.text_field :position, :style => "width:120px;", :class => "contact_input" %>
</td>
<td class="pten">
<%= f.text_field :phone, :style => "width:120px;", :class => "contact_input" %>
</td>
<td class="pten">
<%= f.text_field :ext, :style => "width:60px;", :class => "contact_input" %>
</td>
<td class="pten">
<%= f.text_field :email, :style => "width:200px;", :class => "contact_input" %>
</td>
<td class="pten">
<%= f.submit 'Create', :class => "submit" %>
</td>
</tr>
</table>
<% end %>
控制器:
def create
@contact = Contact.new(params[:contact])
@customer = @contact.customer
@contact.save
respond_to do |format|
format.js
end
end
Create.js.erb:
$(".contact_list").append("<%= escape_javascript(render @contact)%>");
$('.contact_input:input').val('');
Development.rb:
Myapp::Application.configure do
# Settings specified here will take precedence over those in config/application.rb
# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false
# Log error messages when you accidentally call methods on nil.
config.whiny_nils = true
# Show full error reports and disable caching
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
# Don't care if the mailer can't send
config.action_mailer.raise_delivery_errors = false
# Print deprecation notices to the Rails logger
config.active_support.deprecation = :log
# Only use best-standards-support built into browsers
config.action_dispatch.best_standards_support = :builtin
# Do not compress assets
config.assets.compress = false
# Expands the lines which load the assets
config.assets.debug = true
end
答案 0 :(得分:0)
我认为你以前将它命名为Create.js.erb而不是create.js.erb。