我在rails应用程序中使用ActiveAdmin gem.如果我想在适用于所有activeadmin gems的过滤器之前添加一个新的过滤器,我该怎么做?我想我可以在ActiveAdmin中修改BaseController来实现这一点,但是在rails应用程序中进行这种修改的正确方法是什么?有没有办法复制和覆盖BaseController?
作为MVC4 + Entity + WebAPI的新手,我很沮丧,为了简单地将GET,POST控制器处理程序和自定义映射到数据模型.
我想我要问的是有一个生成工具,例如从你的数据类中创建你的控制器类,所以我可以直接从数据中做简单的GET命令?
制作通用RESTful API的方法是什么,因此命令可以这样做
GET api/1.0/{genericdatatype}/{id}
通用数据类型可以是任何模型,没有特定的控制器?说我不需要PUT(通过MVC应用处理)所以我真的不需要POST验证等.
我尝试在控制器文件中使用binding.pry,当我重新加载页面时,乘客卡在上面但是irb不起作用(它显示,但卡住了.看起来乘客写了字符串,就是全部.).在乘客网站上我们可以看到,irb是用于商业计划但是如果我们使用binding.remote_pry(binding.pry被rails 3忽略),它的效果很好.当然binding.pry对WEBrick很有用.问题是,如果我是正确的,或者可以将binding.pry与乘客一起使用,但我必须在某处写一些东西以使其有效?
本主题的第二个目标是将链接放在上面,这对于下一个初学者来说.我花了很多时间来找到答案,为什么它不起作用以及如何使其发挥作用.
顺便说一下 - 我们是否还能以某种方式调试/实时调试控制器/视图?我找到了这个,但没试过.
我用的是铁轨4.
我有一个Spring启动应用程序,我想导入一个用spring boot编写的依赖项,它定义了一些控制器.
也许它很简单,但是如何让主应用程序能够在导入的模块中初始化所有这些控制器?当我尝试访问这些控制器的路径时,我得到一个错误,错过了给定路径的处理程序方法.我尝试如下:
@SpringBootApplication
@ComponentScan(basePackages = {"com.main.project", "com.imported.dependency"})
public class MyApplication
implements CommandLineRunner {
public static void main(final String... args) {
SpringApplication app = new SpringApplication(MyApplication.class);
app.setWebEnvironment(true);
app.run(args);
}
}
Run Code Online (Sandbox Code Playgroud)
即我试过@ComponentScan,但没有任何反应.
我还试图查看控制器是否已加载:
ApplicationContext ctx = SpringApplication.run(FrontendApplication.class, args);
System.out.println("Let's inspect the beans provided by Spring Boot:");
String[] beanNames = ctx.getBeanDefinitionNames();
Arrays.sort(beanNames);
for (String beanName : beanNames) {
System.out.println(beanName);
}
Run Code Online (Sandbox Code Playgroud)
他们不是.我试图删除@SpringBootApplication,并使用@EnableAutoConfiguration和@ComponentScan,但这不起作用.
建议?
设计具有管理部分和面向公众的部分的Web应用程序.感觉就像有一个面向公众的控制器只是为了"索引"和"显示"有点多余.我读过的所有建议都建议使用admin的命名空间,这很好.我只是想知道我是否应该有一个带有附加动作的控制器,比如说"list_public"或类似的东西.
我是Rails的新手,所以也许我只关心什么都没有.我只是不喜欢让所有这些控制器,视图,同名的助手分散在我的项目目录中.
有人对此有任何见解吗?提前致谢.
我在命名空间中有一堆控制器Foo.我想before_filter 'require_user'对所有这些应用,但不应用于不属于Foo命名空间的其他控制器.
除了在每个控制器中显式调用before_filter方法之外,还有什么办法可以实现这个目的吗?
我有两个不同的控制器(scholarships_controller,scholarships_browse_controller)来看奖学金模型.我希望我的Ransack搜索功能在当前页面上显示搜索结果.所以,例如,如果我在/ scholarships_browse并且我使用搜索功能,我希望它使用scholarships_browse_controller并在/ scholarships_browse上显示结果.
目前,如果我搜索/ scholarships_browse,它会使用scholarships_controller并重定向到/奖学金以显示结果(而不是/ scholarships_browse).
ScholarshipsBrowseController和ScholarshipsController代码
def index
@search = Scholarship.search(params[:q])
@scholarships = @search.result.page(params[:page]).per(3) #allows 3 scholarships on a page at a time
@search.build_condition
respond_to do |format|
format.html # index.html.erb
format.json { render json: @scholarships }
end
Run Code Online (Sandbox Code Playgroud)
结束
奖学金代码浏览index.html.erb:
<%= search_form_for @search do |f| %>
<%= f.condition_fields do |c| %>
<div class="field">
<%= c.attribute_fields do |a| %>
<%= a.attribute_select %>
<% end %>
<%= c.predicate_select compounds: false, only: [:cont, :eq, :gt, :lt] %>
<%= c.value_fields do |v| %>
<%= …Run Code Online (Sandbox Code Playgroud) 我有一个想法,我想实现它主要涉及将MVC4项目中的控制器分成2个不同的项目.原因是我希望能够为我的网站的内部管理部分和外部客户端部分使用不同的控制器.我想单独更改它们中的每一个,并在我进行更改时向网站添加一个新的DLL ...对站点内部管理部分的更改因此不会影响外部客户端部分的控制器DLL,例如.
有谁知道这是可行的/可取的还是更好的方法来实现我想要实现的目标?
我已经阅读了一些帖子,例如在 Rails 4 中使用强参数的值白名单,但这并不是我所需要的。
我有一个控制器,它需要一个 ID 并加载一个模型。它还可选地采用查询字符串 param ( style) ,它可以是 3 个值之一,small,medium或large。这被传递给模型上的一个方法,该方法使用它来获取附加的图像(使用回形针)。我注意到如果我传递了一个无效的参数(例如style=wibble),那么我会收到一个 400 错误并通知内部文件路径不存在。Brakeman 还指出这是一个安全问题......
def show
style = params[:style] || :medium
thing = Model.find(params[:id])
path = "#{Rails.root}/public#{thing.image_url(style)}"
content_type = thing.image.content_type || 'image/png'
send_file path, type: content_type, disposition: 'inline'
end
Run Code Online (Sandbox Code Playgroud)
我们在其他地方使用ActionController 参数效果很好;但我看不到如何将参数选项“列入白名单”?我所看到的任何地方都说要使用模型验证器,但这是假设我正在提交一个参数来更新模型,而我不是。
我知道我可以这样做:
return head :not_found unless %w(small medium large).include? style
Run Code Online (Sandbox Code Playgroud)
这是最好的方法吗?
controllers ×10
c# ×2
activeadmin ×1
asp.net-mvc ×1
assemblies ×1
debugging ×1
dry ×1
entity ×1
filter ×1
java ×1
jmeter ×1
namespaces ×1
passenger ×1
pry ×1
ransack ×1
ruby ×1
security ×1
spring ×1
spring-mvc ×1
validation ×1