首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails 4中的"New Item“按钮

Rails 4中的"New Item“按钮
EN

Stack Overflow用户
提问于 2014-05-05 11:13:36
回答 1查看 58关注 0票数 1

我有一个页面,与各种型号的工作。

其中一项是" language ",我在这里选择语言和级别。但我只能插入一种语言。我想知道插入“新建”按钮来添加另一种语言的最好方法是什么,即使是编辑页面(因为即使我需要在编辑页面中包含)

我使用的是accepts_nested_attributes_for和simple_form。

我尝试了几种解决方案,但找不到任何类似的教程,我需要什么。

EN

Stack Overflow用户

发布于 2014-05-05 16:16:21

当你提到你有一个works with various models的页面时,你需要记住views != models。在rails中,视图用于显示您在controllers中定义的数据。

当您询问插入new按钮以添加新语言时,这将完全取决于您的界面,以及您希望它如何工作。下面是一个很好的例子:

代码语言:javascript
运行
复制
#app/views/languages/_new_lang.html.erb
<%= form_for Language.new, url: language_path do |f| %>
   <%= f.text_field :name %>
   <%= f.submit "Create" %>
<% end %>

更好的方法是使用ajax并在页面上呈现一个无布局的元素:

代码语言:javascript
运行
复制
#app/views/controller/your_view.html.erb
<%= button_to "Test", new_language_path, remote: true, id: "test" %>

#app/controllers/languages_controller.rb
Class LanaguageController < ActiveRecord::Base
    layout Proc.new { |controller| controller.request.xhr? ? false : "application" }
end

#app/assets/javascripts/application.js.erb
$(document).on("ajax:success", "#test", function(data) {
    $(data).appendTo("body");
});

这将允许您将所需的数据发送到您的系统以创建新语言。可以改进,所以如果你想使用它,请在评论中让我知道

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23464222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档