小编dpb*_*dpb的帖子

rails:如何将符号转换为类

给出rails中的符号,我如何获得一个类?所以我可以这样说:

give_class(:post).find(:all)
Run Code Online (Sandbox Code Playgroud)

或类似的.

ruby-on-rails

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

rails:与belongs_to关系的大规模分配安全性问题

我一直在阅读关于rails安全问题的内容,而让我最关心的是大规模分配.我的应用程序正在使用attr_accessible,但是我不确定我是否完全知道处理暴露关系的最佳方法是什么.假设我们有一个基本的内容创建/所有权网站.用户可以创建博客帖子,并且具有与该博客帖子相关联的一个类别.

所以我有三个型号:

  • 用户
  • post:属于用户和类别
  • 类别:属于用户

我允许在category_id上进行质量分配,因此用户可以将其取消,将其更改为其中一个类别,或通过批量分配,我认为他们可以将其更改为其他人的类别.这就是我不确定最好的方法是什么.

我调查的资源(特别是railscast#178和从该railscast提供的资源)都提到该关联不应该是可批量分配的,这是有道理的.我只是不确定如何允许用户改变帖子类别的方式.

关于如何最好地解决这个问题的想法?我看错了吗?

更新:希望更多地澄清我的担忧.

假设我在Post,我是否需要以下内容:

def create
  @post = Post.new(params[:category])

  @post.user_id = current_user.id

  # CHECK HERE IF REQUESTED CATEGORY_ID IS OWNED BY USER

  # continue on as normal here
end
Run Code Online (Sandbox Code Playgroud)

这似乎很多工作?我需要在更新和创建操作中检查每个控制器上的内容.请记住,不仅有一个belongs_to关系.

security ruby-on-rails mass-assignment

5
推荐指数
2
解决办法
1005
查看次数

通过netbeans将战争部署到glassfish v3 beta上

同样的.war文件可以很好地部署到Glassfish v2.1上.我不知道上次我尝试使用v3,但我想查看热部署功能,因为据传它正在使用glassfish v3在netbeans 6.8中工作.所以,我像往常一样部署,我收到以下错误:

SEVERE: Exception while invoking class org.glassfish.ejb.startup.EjbDeployer load method
....
SEVERE: Exception while loading the app
java.lang.RuntimeException: Unable to load EJB module.  DeploymentContext does not contain any EJB  Check archive to ensure correct packaging for c:\src\svn\trunk\gui\target\WEBAPP
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:134)
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:64)
    at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:153)
    at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:220)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:314)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:169)
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:305)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1159)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1218)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1207)
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:362)
    at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:201)
    at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
    at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:241)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:789)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:697)
    at …
Run Code Online (Sandbox Code Playgroud)

java netbeans glassfish

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

golang 相当于 ansi c raise()

ANSI C raise() 函数的 golang 等价物是什么?

有关 raise() 的示例用法,请参见此处:

signals go

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