小编Bra*_*kti的帖子

如何在Django管理站点中添加"添加用户"按钮旁边的按钮

我正在研究Django项目,我需要从Django Admin的用户屏幕中提取用户列表.我actions在我的Sample Class中添加了一个变量,用于在每个用户的id之前获取CheckBox.

class SampleClass(admin.ModelAdmin):
    actions =[make_published]
Run Code Online (Sandbox Code Playgroud)

动作make_published已经定义.现在我想在按钮旁边添加另一个Add user按钮,如图所示. 管理员用户界面.但我不知道如何在不使用新模板的情况下实现这一目标.我想使用该按钮将所选用户数据打印到excel.谢谢,请指导我.

python django django-templates django-forms django-admin

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

如何使用不同的表名在rails迁移中添加外键

如何通过添加外键来指定不同的表名.例如

我有一个像这样的模特

class MyPost < ActiveRecord::Base
  has_many :comments, class_name: PostComment
end

class PostComment < ActiveRecord::Base
  belongs_to :post, class_name: MyPost
end
Run Code Online (Sandbox Code Playgroud)

现在我想改变我的迁移文件,如下所示:

class CreatePostComments < ActiveRecord::Migration
  def change
    create_table :post_comments do |t|
     t.belongs_to :post, index: true
     t.timestamps null: false
    end
    add_foreign_key :post, :class_name => MyPost
  end
end 
Run Code Online (Sandbox Code Playgroud)

但它没有用.迁移正在取消.如何更改我的迁移文件以使用我的模型结构.

ruby-on-rails rails-migrations ruby-on-rails-3 ruby-on-rails-4

17
推荐指数
2
解决办法
2万
查看次数

如何使用 cancan load_and_authorize_resource 解决记录未找到错误:product , :through =&gt; :current_user

我有一个控制器

load_and_authorize_resource :product ,:through => :current_user

...

def set_user_product
  @user_product = User::Product.find_by_id(params[:id])
end
Run Code Online (Sandbox Code Playgroud)

我的ability.rb文件包含

can :edit, User::Product do |product|
  product.try(:user) == user
end
Run Code Online (Sandbox Code Playgroud)

一切看起来都不错,但是当我在 url 中输入另一个用户的产品 ID 时,我得到了

ActiveRecord::RecordNotFound in User::ProductsController#edit

Completed 404 Not Found in 23ms

ActiveRecord::RecordNotFound (Couldn't find User::Product with 'id'=<another_user_product_id> [WHERE `products`.`user` = ?]):
Run Code Online (Sandbox Code Playgroud)

activerecord (4.2.0) lib/active_record/relation/finder_methods.rb:336:in `raise_record_not_found_exception!'

在此输入图像描述

如何解决 cancan 引发的此错误

ruby-on-rails cancan cancancan

7
推荐指数
0
解决办法
880
查看次数

org.springframework.beans.factory.annotation.InjectionMetadata.needsRefresh

我在运行spring hibernate项目时遇到问题

java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.InjectionMetadata.needsRefresh(Lorg/springframework/beans/factory/annotation/InjectionMetadata;Ljava/lang/Class;)Z
at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:383)
at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:332)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:830)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:493)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:728)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:449)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Run Code Online (Sandbox Code Playgroud)

jars在我的项目中包含了以下内容

commons-dbcp2-2.0.1.jar
commons-pool2-2.2.jar
hibernate3.jar …
Run Code Online (Sandbox Code Playgroud)

java configuration spring hibernate spring-mvc

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

如何修改cancan load并授权资源使用不同的id加载资源

如何修改加载并授权资源使用不同的id加载资源。对于前。

我的路线是

http://localhost:3000/organization/user/12/event/20/edit
Run Code Online (Sandbox Code Playgroud)

在我的事件控制器中,我正在使用:event_id和用户使用访问事件:id

现在在我的事件控制器中如何修改load_and_authorize_resource使用:event_id而不是:id加载事件

ruby-on-rails cancan ruby-on-rails-3 ruby-on-rails-4 cancancan

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

在rails上的ruby中的undefined方法`unserialize_attribute'

我正在升级rails应用程序,我有一个方法 unserialize_attribue,rails 3但我无法看到这个方法rails 5.

unserialize_attribute在rails 5中有什么替代方案或者我可以做什么的任何建议,谢谢

ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-5 ruby-on-rails-5.1

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

每天从早上 8 点到晚上 8 点,每隔 20 分钟执行一次 Cron 作业

如何运行cron job从每天8:00 AM8:00 PM20分钟时的间隔例如cron作业应在开始8:00 AM每一天,然后在运行8:20 AM,然后8:40 AM9:00 AM达到8:00 PM。谢谢。

编辑:如何使用 ruby whenevergem实现它。

ruby cron whenever cron-task whenever-capistrano

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