Bootstrap Popover和Rails

杰森·布雷

好的,所以这个问题与html.erb代码的正确语法有关。我正在尝试使用弹出按钮显示表单。我可以通过button_tag函数创建按钮,也可以通过form_tag函数创建表单,但是无法将一个嵌入另一个。我什至不能完全确定这是我应该做的事情。我的理解是,最佳实践是避免在可以使用erb进行页面生成时使用html。

无论如何,这是我到目前为止的代码:

<%= button_tag "Remove Friend", :title=>"Remove from Friend List", 
    :id=>"removeFriend", :class=>"btn btn-default", :rel=>"popover", 
    :data => {:html=>"true", :placement=>"top", :content=>
    "form_tag(\"/friend\", method: \"post\") do 
        label_tag(:symbolInput, \"Enter Username\")
    text_field_tag(:symbolInput)
    submit_tag(\"Remove\") 
end"}%>

所以这是生成以下HTML

<button class="btn btn-default" data-content="form_tag(&quot;/friend&quot;, 
    method: &quot;post&quot;) do 
    label_tag(:symbolInput, &quot;Enter Username&quot;)
    text_field_tag(:symbolInput)
    submit_tag(&quot;Remove&quot;) 
    end" data-html="true" data-placement="top" id="removeFriend" 
    name="button" rel= "popover" title="Remove from Friend List" 
    type="submit">Remove Friend</button>

因此,从本质上讲,它只是将erb代码作为文本复制到弹出窗口中。

我也尝试过用<%=%>来为每一行定帧,但是我不清楚它的语法是什么,或者什么时候应该这样做。

基本上需要发生的是,表单的erb必须转换为html,然后将其传递到button_tag的:content部分。

我应该以这种方式执行此操作,还是有其他方法可以完成我要执行的操作?作为新手,我不确定最佳实践是什么。

顺便说一句,如果我使用html对另一种表单或按钮和erb进行编码,则它可以完美地工作,因此可以解决。

发展

当您进入嵌入式Ruby标签(例如<%%>)的那一刻,那么您在其中所做的一切都只是红宝石,或者说另一种方式必须是有效的红宝石,可以是任何红宝石。

我要做的第一个重构是将所有内容代码移出自己的位置。这个中间点比较整洁,应该可以给您带来更好的想法。

<% remove_friend_form = "form_tag(\"/friend\", method: \"post\") do 
        label_tag(:symbolInput, \"Enter Username\")
    text_field_tag(:symbolInput)
    submit_tag(\"Remove\") end" %>

<%= button_tag "Remove Friend", :title=>"Remove from Friend List", 
    :id=>"removeFriend", :class=>"btn btn-default", :rel=>"popover", 
    :data => {:html=>"true", :placement=>"top", :content=> remove_friend_form }%>

隔离内容后,很明显可以进一步隔离“ remove_friend_form”。为此,请将此内容移至其自己的部分内容中。

# create new file in the same folder as the current view.
# _remove_friend_form.html.erb

<%= form_tag("friend", method: "post") do |f| %>
  <%= f.label_tag(:symbolInput, "Enter Username") %>
  <%= f.text_field_tag(:symbolInput) %>
  <%= f.submit_tag("Remove") %>
<% end %>

主页现在看起来像这样

<%= button_tag "Remove Friend", :title=>"Remove from Friend List", 
    :id=>"removeFriend", :class=>"btn btn-default", :rel=>"popover", 
    :data => {:html=>"true", :placement=>"top", :content=> (render partial: 'remove_friend_form') }%>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Bootstrap Popover和图像映射

来自分类Dev

Bootstrap 3 Popover箭头和框的位置

来自分类Dev

Bootstrap Popover和Modal(悬停并单击)

来自分类Dev

Rails使用Bootstrap Popover将HTML显示为文本

来自分类Dev

带Bootstrap Popover的Rails进行销毁操作(使我干燥)

来自分类Dev

Bootstrap Popover中的单击和按钮警告问题

来自分类Dev

bootstrap popover为文本和图像添加单独的数据属性

来自分类Dev

Bootstrap Popover和工具提示不起作用

来自分类Dev

Bootstrap Popover不适用于下载的js和CSS

来自分类Dev

Bootstrap popover指令和Angular.js的嵌套元素

来自分类Dev

Rails和Bootstrap SASS教程

来自分类Dev

ruby on rails 和 bootstrap 4

来自分类Dev

bootstrap 3.0 popover('hide')方法:不适用于多个popover内容和标题未删除

来自分类Dev

Selenium ElementNotVisibleException for Bootstrap Popover

来自分类Dev

Bootstrap Popover在中间对齐

来自分类Dev

Bootstrap Popover Border CSS

来自分类Dev

Ajax的Bootstrap Popover

来自分类Dev

Bootstrap Popover Border CSS

来自分类Dev

Bootstrap Popover问题

来自分类Dev

Selenium ElementNotVisibleException for Bootstrap Popover

来自分类Dev

Bootstrap Popover功能

来自分类Dev

LI中的Bootstrap Popover

来自分类Dev

Rails Admin的bootstrap-sass和anjlab-bootstrap-rails

来自分类Dev

Twitter Bootstrap和Ruby on Rails的警报/错误

来自分类Dev

Rails form_for和bootstrap glyphicons

来自分类Dev

Bootstrap / Rails中的动态列和行

来自分类Dev

Bootstrap Popover视口属性

来自分类Dev

如何获得Bootstrap Popover高度?

来自分类Dev

Bootstrap Popover不起作用