Tag: 渲染

覆盖渲染:json在没有模型对象的Rails 4中

我需要覆盖“渲染json”,但我不需要为模型覆盖它,在模型中我知道我可以打开ActiveRecord :: Base并重写as_json方法。 但我的问题是当我有这样的事情 class TestController < ApplicationController def index render json: { field: 'is a test' } end end 我的问题是因为我使用了一个gem,其中一些方法我需要返回“渲染json”,而这个gem没有集中一个方法。 我认为在做py的fork并重构这个因为我可以覆盖集中式方法,但首先我想知道是否有可能覆盖渲染。

可以在Rails控制器中呈现和引发exception吗?

我现在已经和它斗争了好几个小时了。 我有一个控制器动作,我想渲染一个页面,然后自动引发一个exception。 我找不到太多关于此的信息让我觉得我在寻找错误的东西。 类似下面的东西可能吗? class UsersController e render ’email_error’ raise(e) end # .. other stuff end end 在这种情况下,我只想告知最终用户错误,然后在应用程序本身上引发exception。 请注意,我无法更改事实上的错误页面,因为这是一个较小的应用程序,在相同的代码库中具有更大的应用程序。

Javascript不是在脚本中呈现而是作为html呈现

这个问题是我昨天问过的一个问题,它涉及将模型的创建/编辑function移动到其索引页面上。 我遇到的最后一个问题是,当我去删除模型时,我有一些应该运行的javascript重新加载模型列表以反映数据库中的更改。 这个js被渲染为html。 以下是我认为相关的代码: 在我的控制器中: def destroy @post = Post.find(params[:id]) @post.destroy flash[:notice] = “Successfully destroyed post.” @posts = Post.all respond_to do |format| format.js {render :content_type => ‘text/javascript’ } end end 我的post部分列表(其中包含我所指的销毁链接): Title Content “edit” %> ‘Are you sure?’, :method => :delete, :class => ‘destroy’ %> destroy.js.erb: $(“#post_errors”).hide(300); $(“#flash_notice”).html(“”); $(“#flash_notice”).show(300); $(“#posts_list”).html(” “posts”) ) %>”); 在页面加载时加载的javscript: // […]

显示父类Rails 4.0的子级

我有一个学校和学生的模型。 他们的关系是学校有很多学生。 我正在尝试渲染一个视图,如果我在学校索引页面上并单击“显示”,它将打开一个新页面并显示属于该学校的学生列表。 例如: School – Student1 – Student2 – Student3

Rails:渲染模型?

我可以想到在Rails中渲染模型的百万种不那么自动的方法,但我想知道是否有一些内置的方法来实现它。 我希望能够做到这一点 很明显你可以做部分(我的意思是,调用渲染:部分),但我想知道是否有一些标准方法将视图与模型相关联 。 [提前谢谢,weppos,修复此问题上的标签:)]

从另一个模型渲染部分

我有一个用于模拟房屋的rails应用程序。 有一个房子模型有很多参数,它有很多has_many rooms 。 房间有house_id和名字。 我还使用了http://github.com/ryanb/complex-form-examples来允许将许多灯和small_appliances添加到房间。 complex-form-example使用RJS和partials来完成此任务。 有一个名为calculator的控制器,用户将用它来访问应用程序。 当按下计算器上的提交按钮时,它会重定向到add_rooms页面(位于app/views/calculator/add_rooms.html.erb )页面,用户可以在该页面中add rooms 。 add_rooms页面使用app/views/rooms/_room_form.html.erb 。 我无法显示,因为rails总是在app / views / calculator文件夹中查找内容。 我怎样才能显示它? 另请注意,我需要在保存房间时保存房屋的ID。 以下是所有相关代码(我希望): 更新 如果我注释掉两个add_child_link 。 页面呈现。 但是,当我单击提交时,我收到一条新的错误消息: CalculatorController #add_room中的ActiveRecord :: AssociationTypeMismatch SmallAppliance(#49096610)预计,得到arrays(#1560620) RAILS_ROOT:C:/ Users / ryan / Downloads / react 应用程序跟踪| 框架跟踪| 完整跟踪 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/associations/association_proxy.rb:263:在`raise_on_type_mismatch’中 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/associations/association_collection.rb:320:在`replace’中 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/associations/association_collection.rb:320:在’each’中 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/associations/association_collection.rb:320:在`replace’中 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/associations.rb:1322:在`small_appliances =’中 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/base.rb:2744:在`send’中 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/base.rb:2744:在`attributes =’ C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/base.rb:2740:在’each’中 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/base.rb:2740:在`attributes =’中 […]

Rails 3.1在视图中使用iframe使布局停止渲染

所以我有一个基本的布局文件: 和任何正常的HTML一样好。 但是,如果我将这样的iframe添加到视图中: 当我渲染页面时,所有内容都会呈现,直到iframe,但是yield之后的页脚内容不会呈现。 有没有人遇到过这个? 编辑:正如其中一个答案所指出的那样(谢谢!),我在最初的问题中的屈服声明是错误的。 我的代码中的yield语句是正确的,但是当转移到stackoverflow时这是一个错字。 注意:如果您尝试复制iframe正在使用jquery mobile。

通过js.erb文件呈现Flash消息

在我的Rails应用程序中,我想将我的控制器方法delete_option ( questions_controller )中的flash消息呈现到questions文件夹本身内的部分_edit.html.erb 。 我有一个js文件delete_option.js.erb ,我可以使用下面的行成功地将编辑渲染到具有id edit_subquestion的div元素。 $(“#edit_subquestion”).html(” “edit”)) %>”); 我在_edit.html.erb放了一个div元素来渲染flash消息,如下所示。 我试图将方法delete_option的flash消息呈现给上面的div元素,如下所示。 if(().length > 0) $(“#flash_delete_option”).html(“<%= escape_javascript(render('’)) %>”); 我收到语法错误。 请帮忙解决这个问题。 一切都按照答案进行了尝试。 没有得到它。

渲染:用params行动

我有一个类有2种方法。 第一种方法由视图调用,带有一些GET参数(params [:page])。 我想保存这些参数并通过渲染动作将它们发送到我的第二种方法。 class exemple def first ## sql save of params[:page] render :action => “second” end def second ## ## Here I need my params[:page] to do paginate stuff ## respond_to do |format| format.html end end end 所以我的问题是: 如何使用渲染:动作发送params? 谢谢 :)

如果内容产生,则以其他方式呈现(Rails 3)

我已经离开Rails一段时间了,所以也许我错过了一些简单的东西。 你怎么能做到这一点: some default content 甚至: 在第一种情况下,我正在尝试: def yield_or(content, &block) content_for?(content) ? yield(content) : yield end 但是这会引发“无阻塞”错误。 在第二种情况: def yield_or_render(content, template) content_for?(content) ? yield(content) : render(template) end 这在没有定义内容时有效,但只要我使用content_for覆盖默认内容,它就会抛出相同的错误。 我用这个作为起点,但它似乎只有在视图中直接使用时才有效。 谢谢!