【问题标题】:how to create new action for listing all data while i am already used show controller当我已经使用显示控制器时,如何创建用于列出所有数据的新操作
【发布时间】:2017-07-27 16:09:03
【问题描述】:

这是我的工作控制器

def index
  @job = Job.new
end
def create
  @job = Job.new(job_params)
 if @job.save
  flash[:notice] = "resume is uploaded"
  redirect_to @job
 else
  flash[:notice] = "resume is not uploaded"
  redirect_to blogs_path
 end
end

def list
  @jobs = Job.all
end
def messages
 @pages = Page.all
end
def show
 @job = Job.find(params[:id]) 
end
def new
 @post = Post.new
end    

我的错误是如果我要搜索工作/列表,它将采用列表是一个 id。这意味着 id='list'。为什么它不采用列表是操作。

我的 confif/routes.rb resources :jobs do collection do get ':list' :as => 'list' end end

这也是我添加的,但不起作用

获取“工作/列表”


get 'list' :as => 'list' 不起作用。而且我在单个控制器中使用了双模型(Job,Post)也出错,稍后我将发布该问题。所以首先告诉我上面的内容问题。我希望你们

【问题讨论】:

  • 试试get 'list' :as => 'list'
  • 你为什么在JobsController.new 操作中使用@post = Post.new?你为什么在JobsController.index 行动中做@job = Job.new?在我看来,您从根本上误解了标准 REST 操作。你可能想考虑一下。

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2


【解决方案1】:

在路由中添加这样的

resources :jobs do
   collection do
       get 'list'
    end
 end

并运行 rake 路由以查看它为列表操作显示的内容并使用它

【讨论】:

    猜你喜欢
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 2021-05-30
    • 1970-01-01
    相关资源
    最近更新 更多