Tag: partial

基于Ajax中的实例变量动态更新页面

更新:我的问题得到了解答,但我写了一篇博文,详细说明了我是如何做到这一点的: http : //lathamcity.com/posts/ajaxInRails.html 我有一个页面,显示基于Ruby对象的事物列表。 我的目标是进行Ajax调用以获取新的Ruby对象,然后基于此更新列表。 我认为这样做的方法是局部的。 我使用代码中的Rails实例变量使整个列表成为部分文件。 然后我想要Ajax调用将相应的实例变量设置为新列表并重新呈现部分。 这是最终目标,但是现在我正在尝试做一个非常基本的版本,我只是将一个实例变量设置为字符串,然后显示字符串。 所以在我的div中,我有: :go , :method => :get, :remote => true do %> ‘test’) %> views/interface (我的控制器名称)文件夹中有一个_test.erb文件,只有以下行作为其内容: 然后在我的控制器中, def go @test = “Hello You” render :update do |page| page.replace_html “test”, :partial => “test” end end 当我运行它时,我得到: Missing template interface/update, application/update 我对render :update不太了解render :update ,我在谷歌的一个例子中找到了它。 我做错了什么导致了这个问题,我该如何解决? 我是以正确的方式进行这种方式还是有更好的方法来做到这一点?

在渲染中传递参数 – Rails 3

我已经看到了几个问题,但一直没能解决它…… 我试图在渲染部分时传递参数(类似于domainname.com/memory_books/new?fbookupload=yes) 现在,我使用这一行: ‘/memory_books/new’, :fbookupload => “yes” %> 在部分,我试图通过使用以下方式获取fbookupload的内容: 它给出了“未定义的局部变量”错误 它没有显示fbookupload作为参数。 如何在参数中进行部分传递:fbookupload? 谢谢。 更新: 它是否与我在渲染中渲染它的事实有关? 即具有的页面(/ fbookphotos / show) ‘/memory_books/new’, :fbookupload => “yes” %> 正在由另一个页面呈现(posts / show)via: ‘/fbookphotos/show’ %> 所以我在渲染中渲染它。

Rails:在视图中显示来自不同模型的表单

我有一个location模型和一个post模型。 我想允许用户从location模型的index页面创建新posts 。 我怎么做? 我尝试将new.html.erb作为部分location index.html.erb渲染,但这会导致错误,因为post new.html.erb引用@post变量。 我该怎么做到这一点?

从heroku下载部分数据库

我使用postgresql作为其数据库在heroku上托管了一个ruby on rails应用程序。 由于数据库变得越来越大,我想知道是否有一种方法只能从heroku下载它的特定部分。 例如,是否可以仅下载一个特定表,或仅下载parent_id == x的行。

重新加载部分(Rails Ajax)

我有一个表单,当我点击提交时,应该更新同一页面上的部分…当我把它放在这里: page.replace_html ‘show_cards_div’, ‘Hello’ 它确实如此,当我需要时显示你好。 但是当我把它变成这个…… page.replace_html ‘show_cards_div’, :partial => “reloadThisPartial”` 它根本不做任何事情。 我究竟做错了什么?

在rails应用程序中重新加载部分内容

我想在rails应用程序的’new’-view上每3秒重新加载一次。 我在new.html.erb有这个 Controller#new This is my static content More Static content 如何每3秒钟重新加载一次? 我必须使用不引人注目的JavaScript吗? 我怎样才能通过ujs实现这一目标?

Rails AJAX:我的部分需要一个FormBuilder实例

所以我在我的Rails应用程序中有一个表单,它使用自定义FormBuilder为我提供一些自定义字段标记 MyFormBuilder do |f| %> […] “staff_members/forms/personal_details”, :locals => {:f => f, :skill_groups => @skill_groups, :staff_member => @staff_member} %> […] 现在,这个部分位于一个由AJAX回调替换的forms区域中。 我最终在控制器中响应AJAX请求做的是: render :partial => “staff_members/forms/personal_details”, :locals => {:skill_groups => @skill_groups, :staff_member => @staff_member} 但是,如果我这样做,那么表单就会中断,因为我在form_for中使用的FormBuilder对象不再可用。 有没有办法让我在用于AJAX回调的部分内部使用我的自定义FormBuilder对象?

将partial转换为method / block以获得速度

我有一个循环,呈现部分 1000.times do |i| render partial: ‘test’, locals: {i: i} end 对于foreach渲染调用,这非常慢,最长可达0.1 ms,即使部分仅打印出i my_partial = render_to_method(partial: ‘test’) 1000.times do |i| my_partial(locals: {i: i}) end 现在这应该以更快的方式做同样的事情吧? 但我不知道该怎么做。 更新: 我试过这样做: Haml::Engine.new(File.read(File.expand_path File.dirname(FILE)+”/../table/#{column.macro}/_#{column.display_type}.haml”)) .‌​render(OpenStruct.new({column_value: column_value, object: object})) 两个主要缺点: 视图的路径不会像使用渲染时那样观察回退(parital:’partial’将在当前视图dir,某些gem以及视图/应用程序中查找parital。 Rails视图助手不再可用 更新2: 许多答案试图通过使用其他技术来解决问题。 我的真实应用这种技术无法应用。 https://github.com/antpaw/bhf/blob/master/app/views/bhf/pages/_platform.haml#L54主要是因为这一行是一个动态字符串,有时会链接到甚至不存在的部分在gem中并在main_app中定义。 我想知道为什么做一些如此基本的事情是如此困难:1。抓住观点。 2.渲染它。 (3.再次渲染。) 更新3: @Flash Gordon建议这个https://gist.github.com/antpaw/d6670c23d6f08e35812e#file-gistfile1-haml-L54 template = lookup_context.find_template “#{column.macro}/#{column.display_type}”, [‘bhf/table’], true template.render(self, {column_value: […]