小编don*_*ote的帖子

在 Rails 6 中使用 has_many_attached 更新图像的正确方法是什么

我有一个 Rails 6 应用程序,它使用 Active Storage 将多个图像存储到一个带有has_many_attached.

我不明白如何附加额外的图像而不是替换现有的图像。当我第一次上传图像时,它们会正确保存。但是,当我更新记录并添加新图像时,以前的图像会被新图像替换。在 Rails 5 中,新图像将被附加而不替换以前保存的图像。

如何添加新图像而不是替换以前的图像?

我有一个具有以下内容的活动模型:

has_many_attached :images
Run Code Online (Sandbox Code Playgroud)

在表格中我有:

<%= f.file_field :images, multiple: true %>
Run Code Online (Sandbox Code Playgroud)

在控制器中,我有以下内容:

def update
  @activity = Activity.find(params[:id])

  if @activity.update(activity_params)
    flash[:success] = "Saved"
    redirect_to activity_path(@activity)
  else
    flash[:error] = "Not saved"
    redirect_to edit_activity_path(@activity)
  end
end

private

  def activity_params
    params.require(:activity).permit(:name, images:[])
  end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rails-activestorage ruby-on-rails-6

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

如何在 Rails 6 的视图中使用 JQueryUI

我在 Rails 6 应用程序中使用 JQuery 和 JQueryUI 时遇到困难。

JQuery 和 JqueryUI 都在 application.js 中工作

但是,JQueryUI 无法在视图中工作。我该如何让它在这两种情况下都起作用?我的代码如下。

我跑了yarn add jquery

我跑了yarn add jquery-ui-dist

在environment.js中:

const { environment } = require('@rails/webpacker')
const webpack = require('webpack')

environment.plugins.prepend('Provide',
  new webpack.ProvidePlugin({
    $: 'jquery',
    jQuery: 'jquery'
  })
);

const aliasConfig = { 'jquery': 'jquery/src/jquery', 'jquery-ui': 'jquery-ui-dist/jquery-ui.js' };
environment.config.set('resolve.alias', aliasConfig);

module.exports = environment
Run Code Online (Sandbox Code Playgroud)

在application.js中:

require("@rails/ujs").start()
require("@rails/activestorage").start()
require("channels")
require("jquery")
require("jquery-ui");
require("custom/scripts")
Run Code Online (Sandbox Code Playgroud)

我在custom/scripts.jspacks/search.js中测试 JQuery 和 JQueryUI

custom/scripts.js加载到 application.js 中,如下所示:

$(document).ready(function(){
  var …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui ruby-on-rails

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

country_select gem错误的参数数量错误

我把这个放在我的gemfile中

gem 'country_select'

我运行捆绑安装

我把它放在我的形式

= f.country_select(:country, priority_countries: ["US"])

然后,当我重新启动服务器并加载页面时,出现以下错误:

ActionView::Template::Error (wrong number of arguments (given 1, expected 0)):

Rails 5.2

这是整个表格:

= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f|

    .row
      .col.s12      
        = devise_error_messages!

    .row
      .input-field.col.s12
        = f.text_field :city
        = f.label :city

    .row
      .input-field.col.s12
        = f.label :country  
        %br
        = f.country_select(:country, priority_countries: ["US"])
Run Code Online (Sandbox Code Playgroud)

这是错误:

ActionView::Template::Error (wrong number of arguments (given 1, expected 0)):
    20:           .input-field.col.s12
    21:             = f.label :country
    22:             %br
    23:             = f.country_select(:country, priority_countries: ["US"])
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-5

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

如何在 Materialise 卡操作中右对齐按钮

我正在使用 Materialise,我需要在卡片操作中将按钮与卡片的右侧对齐。

这是代码:

<div class="card-action">
  <a href="#" class="right">This is a link</a>
</div>
Run Code Online (Sandbox Code Playgroud)

这是结果:

在此输入图像描述

如果我删除class="right"然后我得到这个结果:

在此输入图像描述

我想要第二张图像的结果,但按钮应向右对齐。我是否遗漏了有关实体化卡牌行动的一些内容?我应该如何获得这种行为?

materialize

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

如何在 Rails 6 应用程序中将变量传递给 javascript

我有一个使用完整日历的 rails 6 应用程序。我已经设置好日历并且可以正常工作。

要完成日历集成,我唯一需要做的就是将 @user.id 添加到向日历添加数据的 json 提要的 url。

这是我的代码:

javascript/fullcalendar/fullcalendar.js

import { Calendar } from "@fullcalendar/core";
import dayGridPlugin from "@fullcalendar/daygrid";

document.addEventListener('turbolinks:load', function() {
  var calendarEl = document.getElementById('calendar');

  var calendar = new Calendar(calendarEl, {
    
    plugins: [ dayGridPlugin ],

    eventSources: [
      {        
        url: "/users/<%= @user.id %>/jobs.json",
      }
    ]

  });

  calendar.render();

});
Run Code Online (Sandbox Code Playgroud)

如果我替换为<%= @user.id %>3那么日历会从 json.jbuilder 文件中提取数据并且日历可以工作。

我如何将 传递<%= @user.id %>给日历?

javascript ruby-on-rails fullcalendar webpacker

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