大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 在不同的控制器中渲染部分(不嵌套),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
undefined method `model_name' for NilClass:Class
我认为这是因为默认_form使用一个实例变量,当从单独的控制器调用时,该实例变量不存在.所以我尝试将LogEntry _form.html.erb转换为使用局部变量,并通过render调用传递它们.之后这里是错误:
@H_13_2@model LogEntry does not respond to Text如何将这个部分包含在不同的控制器的显示页面中?
楷模:
class LogBook < ActiveRecord::Base belongs_to :User has_many :LogEntries,:dependent => :destroy end class LogEntry < ActiveRecord::Base belongs_to :LogBook,:class_name => "log_book",:foreign_key => "log_book_id" end
LogEntry _form.html.erb(使用局部变量):
<%= form_for(log_entry) do |f| %> <% if log_entry.errors.any? %> <div id="error_explanation"> <h2><%= pluralize(log_entry.errors.count,"error") %> prohibited this log_entry from being saved:</h2> <ul> <% log_entry.errors.full_messages.each do |msg| %> <li><%= msg %></li> <% end %> </ul> </div> <% end %> <div class="field"> <%= f.label :Text %><br /> <%= f.text_field :Text %> </div> <div class="actions"> <%= f.submit %> </div> <% end %>
LogBook show.html.erb:
<p id="notice"><%= notice %></p> <p> <b>Name:</b> <%= @log_book.name %> </p> <%= render 'log_entries/form',:log_entry => @log_book.LogEntries.new %> <%= link_to 'Edit',edit_log_book_path(@log_book) %> | <%= link_to 'BACk',log_books_path %>
以上是大佬教程为你收集整理的ruby-on-rails – 在不同的控制器中渲染部分(不嵌套)全部内容,希望文章能够帮你解决ruby-on-rails – 在不同的控制器中渲染部分(不嵌套)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。