标签: partials

rails - 转义用于javascript的空格和引号

我试图在ajax调用中执行以下操作

index.js.erb的

$("#dialog").text("<%= render("index") %>")
Run Code Online (Sandbox Code Playgroud)

它告诉我在我的js控制台中有一个未终止的字符串文字(这是真的,因为部分中有引号和空格.

我试图使用escape_javascript,但它然后显示部分代码.我也试过调用raw(escape_javascript(render("index"))没有成功.

我认为我需要做的就是逃避双引号并删除空格.这有功能吗?

干杯蒂姆

javascript partials ruby-on-rails-3

2
推荐指数
1
解决办法
1522
查看次数

无法在coffeescript内部渲染coffeescript

我想创建一个可以在加载页面后使用AJAX调用的通用控制器,并根据控制它的控制器更新页面上的不同内容.

目的是允许更好的页面和片段缓存,同时为用户显示自定义元素.

我的框架看起来像这样:

controllers/general_ajax_controller.rb
views/general_ajax/on_page_load.js.coffee
                 ./_update_some_stuff.js.coffee
Run Code Online (Sandbox Code Playgroud)

on_page_load控制器中的操作处理逻辑,确定要加载哪些部分,视图将呈现部分.

on_page_load.js.coffee视图中我有这个代码(简化):

<%= render "update_some_stuff" %>
Run Code Online (Sandbox Code Playgroud)

哪个应该呈现部分.相反,我得到这个错误:

  ActionView::Template::Error (SyntaxError: Reserved word "function" on line 2):
  app/views/general_ajax/on_page_load.js.coffee:1:in `_app_views_general_ajax_on_page_load_js_coffee___2304196970850216490_70321203283120'
Run Code Online (Sandbox Code Playgroud)

我认为coffeescript是在将它包含在视图中之前编译的(这是咖啡并且不支持编译的js)

如果我将on_page_load视图的扩展名更改为.js.erb然后它可以工作.(奇怪的是,我必须在它运行之前重启我的服务器,你知道为什么吗?)

你认为这是coffeescript中的问题还是不好的做法,因此不受支持?

作为一个侧面讨论,您如何看待我的动态编程方法?

rendering partials coffeescript ruby-on-rails-3.1

2
推荐指数
1
解决办法
2261
查看次数

没有找到Redmine Plugin Partials

我一直在关注Redmine插件教程并阅读Hooks页面,但我仍然无法使用render_on关键字或其他方式使我的插件部分渲染.

这是我放弃我的部分:

app
??? views
    ??? issues
    ?   ??? _issue_mail_settings_form.html.erb
    ??? projects
        ??? _mail_settings_form.html.erb
Run Code Online (Sandbox Code Playgroud)

这是我的类render_on,其中包含关键字,该关键字位于以下lib目录中:

class MailSettingIssueHooks < Redmine::Hook::ViewListener
  render_on :view_issues_form_details_bottom,            
      :partial => "issues/issue_mail_settings_form"                                                                                                
end
Run Code Online (Sandbox Code Playgroud)

在init.rb我只是require 'mail_setting_issue_hooks'.

如果我像这样加载Redmine,我无法查看页面是否有任何问题 - 我只是得到404错误.请求的控制台输出在这里,虽然看起来不太有用.

如果我定义一个名为view_issues_form_details_bottomin 的方法MailSettingIssueHooks,它返回一个字符串,它正确呈现.

render_on关键字如何决定在哪里查找部分,以及如何使其工作?

ruby redmine partials redmine-plugins

2
推荐指数
1
解决办法
545
查看次数

部分内容未显示在视图中

我正在做 ruby​​ 教程,目前在清单 5.9 上。部分内容没有显示在我的app/views/layouts目录中

这是代码,我在 OSX 10.8 上使用 Rails 1.8.7。我正在使用rvm并通过brew install安装:

    <!DOCTYPE html>
<html>
  <head>
    <title><%= full_title(yield(:title)) %></title>
    <%= stylesheet_link_tag "application", media: "all",
                                           "data-turbolinks-track" => true %>
    <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
    <%= csrf_meta_tags %>
    <%= render :partial =>'layouts/shim' %>
  </head>
  <body>
    <%= render :partial => 'layouts/header' %>
    <div class="container">
      <%= yield %>
    </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

到目前为止,我完全按照教程进行操作,每隔一段时间我就需要进行调整以使用 1.8.7 而不是 1.9。教程说要做

<%= render'layouts/header' %>
Run Code Online (Sandbox Code Playgroud)

那不起作用,所以我尝试了

<%= render :partial => 'layouts/header' %>
Run Code Online (Sandbox Code Playgroud)

并且部分仍然没有出现。

ruby ruby-on-rails render partials

2
推荐指数
1
解决办法
1418
查看次数

渲染部分位于凤凰城的子目录中

如果partial与另一个.eex文件位于同一文件夹中,则可以运行render "filename.html",但如果它位于子文件夹中,该怎么办?在我的例子中,我有一些部分包含一些SVG图标的HTML.我不希望这些文件弄乱主模板目录为我的控制器(我宁愿让他们在templates/pages/iconstemplates/pages).但是,如果它们与.eex呈现它们的文件不在同一目录中,则按名称引用它们不起作用,也不会这样做render "icons/filename.html".处理这个问题的正确方法是什么?

templates elixir partials phoenix-framework

2
推荐指数
1
解决办法
604
查看次数

如何使用rails部分重新加载div

在rails中有一种方法可以重新加载一个div的div

调节器

def home
  @events = []
end

def ajax_load_events
    ...
  @band = Band.find_by_name(@artist)
  begin
    artist = Bandsintown::Artist.new({
      :name => @artist
    })
    @events = artist.events
  rescue Bandsintown::APIError
    @events = [] #this will ensure that if an error happens from the bandsintown api, we'll catch the error
  end
end
Run Code Online (Sandbox Code Playgroud)

HTML

<div class="field disable_color">
  <label for="search">Select a Song</label>
  <input type="search" name="request[song]" id="request_song" value="" />               
</div>

<tbody class="load_events">
  <%= render :partial => 'event', :collection => @events %>
</tbody>
Run Code Online (Sandbox Code Playgroud)

局部

<% @events.each_with_index do |event, …
Run Code Online (Sandbox Code Playgroud)

ruby ajax jquery ruby-on-rails partials

1
推荐指数
1
解决办法
3900
查看次数

MVC3嵌套的部分页面(和视图模型):如何从绑定表单字段?

我有2个这样的视图模型:

public class ViewModel1 // maps to Model1
{
    public string ViewModel1Desc { get; set; }
    public ViewModel2 ViewModel2 { get; set; }
    public ScheduleMasterEditViewModel()
    {
        ViewModel2= new ViewModel2();
    }
}

public class ViewModel2 // maps to Model2
{
    public string ViewModel2Desc { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,我希望有一个ViewModel2的部分页面,并将其包含在ViewModel1的创建页面中:

Create.cshtml看起来像这样

@model ViewModels.ViewModel1
@using (Html.BeginForm()) {
    @Html.EditorFor(model => model.ViewModel1Desc )
    @Html.Partial("~/Views/ViewModel2/_ViewModel2Create.cshtml", Model.ViewModel2)
}
Run Code Online (Sandbox Code Playgroud)

_ViewModel2Create.cshtml看起来像

@model ViewModels.ViewModel2
@Html.EditorFor(model => model.ViewModel2Desc )
Run Code Online (Sandbox Code Playgroud)

问题是,在Model1的Create控制器上,没有任何内容绑定到ViewModel1.ViewModel2

我是以正确的方式做到这一点,还是应该写出所有这样的字段:

asp.net-mvc bind nested partials viewmodel

1
推荐指数
1
解决办法
1723
查看次数

Rails:无法将变量传递给partial,我做错了什么?

我正在尝试一些不同的方法来定义并将局部变量传递给partial,但它一直说它未定义:

在显示文件中:

<% @startups.each do |startup| %>
  <%= render :partial => "profile/startup" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

部分:

<%= simple_form_for [@commentable, @comment], :remote => true do |form| %>
  <%= form.input :content, label: false, :input_html => { :id => "#{startup.user_id}" } %>
  <%= form.submit "Submit" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

这些是我尝试传递变量的其他方法,但仍然未定义:

<%= render :partial => "user_comments/uac",  object: startup, as: startup %>
<%= render :partial => "user_comments/uac",  collection: startup, as: startup %>
<%= render :partial => "user_comments/uac", :locals => {:startup => startup} %>
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails parameter-passing partials ruby-on-rails-4

1
推荐指数
1
解决办法
924
查看次数

将自定义变量发送给partial-middleman

如何通过标记调用将自定义变量发送到部分变量.

<%= partial (:contentHeader, :title=>"Title Goes here") %>
/*trying to send a variable named title with "Title Goes Here" to the partial*/
Run Code Online (Sandbox Code Playgroud)

部分是这样的:

<div class = "contentHeader">
<h2><%=title%></h2>
</div>
Run Code Online (Sandbox Code Playgroud)

所以输出结果应该是

<div class = "contentHeader">
<h2>Title Goes Here</h2>
</div>
Run Code Online (Sandbox Code Playgroud)

html ruby erb partials middleman

1
推荐指数
1
解决办法
1033
查看次数

将参数传递给Rails部分

在我的Rails 4.2.1应用程序中我PostsComments(嵌套在其中Posts):

   # config/routes.rb

   resources :posts do
      resources :comments
   end
Run Code Online (Sandbox Code Playgroud)

我有以下评论部分:

   # app/views/comments/_comment.html.erb

   <%= comment.body %>
Run Code Online (Sandbox Code Playgroud)

我试图在Posts视图中渲染该部分:

   # app/views/posts/show.html.erb

   <% @comments.each do |comment| %>
     <%= render 'comments/comment', :locals => { :comment => comment } %>
   <% end %>
Run Code Online (Sandbox Code Playgroud)

问题是我在尝试渲染部分时遇到了未定义的局部变量或方法"注释"错误.

我对Rails很新,但它看起来像我正在将comment变量正确传递给部分.我错过了一些明显的东西吗

谢谢

更新

我正在寻找文档中的错误位置.请参阅http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials

在此输入图像描述

ruby ruby-on-rails partials

1
推荐指数
1
解决办法
2908
查看次数